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

void DrawPathLineToVertical(DrawingWand *wand,PathMode mode,double y)

{
  undefined4 uVar1;
  size_t sVar2;
  DrawInfo *pDVar3;
  Image *pIVar4;
  MagickBooleanType MVar5;
  undefined4 *puVar6;
  size_t sVar7;
  int iVar8;
  int iVar9;
  DrawingWand *pDVar10;
  DrawingWand *wand_00;
  DrawingWand *pDVar11;
  char *pcVar12;
  undefined *puVar13;
  int iVar14;
  ExceptionInfo *pEVar15;
  undefined4 uVar16;
  int iVar17;
  DrawingWand *affine;
  undefined1 *number_coordinates;
  undefined4 in_a2;
  PointInfo *coordinates;
  undefined4 in_a3;
  undefined *puVar18;
  undefined4 uVar19;
  undefined4 uVar20;
  undefined4 uVar21;
  undefined4 uVar22;
  DrawingWand *unaff_s0;
  DrawInfo **ppDVar23;
  DrawInfo **ppDVar24;
  undefined1 *puVar25;
  int *piVar26;
  int *piVar27;
  int iVar28;
  undefined *puVar29;
  code *pcVar30;
  code *pcVar31;
  PointInfo *pPVar32;
  undefined4 uStack_2424;
  int iStack_2420;
  undefined1 auStack_241c [4096];
  int iStack_141c;
  DrawingWand *pDStack_1418;
  undefined1 *puStack_1410;
  int *piStack_140c;
  DrawingWand *pDStack_1408;
  undefined4 uStack_1390;
  undefined4 uStack_11f0;
  undefined1 auStack_10f8 [4];
  undefined4 uStack_10f4;
  undefined4 uStack_10f0;
  undefined8 uStack_10d0;
  undefined8 uStack_10c8;
  undefined8 uStack_10c0;
  double dStack_10b0;
  undefined1 auStack_109c [4096];
  int iStack_9c;
  DrawingWand *pDStack_98;
  
  if (wand == (DrawingWand *)0x0) {
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,
               PTR_s_t_char____NULL_0014f03c + 0xd60);
  }
  else {
    unaff_s0 = wand;
    if (wand->signature == 0xabacadab) {
      if (wand->debug != MagickFalse) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,
                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);
      }
      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {
        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);
        return;
      }
      uVar1 = 0x76;
      if (mode == AbsolutePathMode) {
        uVar1 = 0x56;
      }
      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;
      wand->path_mode = mode;
      wand->path_operation = PathLineToVerticalOperation;
      MVGAutoWrapPrintf(wand,pcVar12,uVar1);
      return;
    }
  }
  uVar1 = 0xe8f;
  puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60;
  puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970;
  pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c);
  puVar29 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)();
  if (pDVar10 == (DrawingWand *)0x0) {
    (**(code **)(puVar29 + 0xebb8c))
              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,
               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);
  }
  else {
    unaff_s0 = pDVar10;
    if (pDVar10->signature == 0xabacadab) {
      if (pDVar10->debug != MagickFalse) {
        (**(code **)(puVar29 + 0xeb8f4))
                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,
                   0xeee);
      }
      if ((pDVar10->path_operation == PathMoveToOperation) &&
         ((undefined *)pDVar10->path_mode == puVar13)) {
        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);
        return;
      }
      iVar14 = *(int *)(puVar29 + 0xeb4a8);
      uVar1 = 0x6d;
      if (puVar13 == (undefined *)0x1) {
        uVar1 = 0x4d;
      }
      pDVar10->path_mode = (PathMode)puVar13;
      pDVar10->path_operation = PathMoveToOperation;
      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);
      return;
    }
  }
  pcVar30 = *(code **)(puVar29 + 0xebb8c);
  pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970);
  wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c);
  (*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8);
  piVar27 = *(int **)(pcVar30 + 0xeb7ac);
  iStack_9c = *piVar27;
  pcVar31 = *(code **)(pcVar30 + 0xeb804);
  pDVar11 = wand_00;
  pDStack_98 = unaff_s0;
  if ((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&
      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&
     (*(double *)(pDVar10->name + 0x44) == 0.0)) {
    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));
  }
  else {
    (*pcVar31)(wand_00->image,auStack_10f8);
    uStack_10f4 = 0x17;
    dStack_10b0 = *(double *)(pDVar10->name + 0x44);
    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);
    uStack_10f0 = 4;
    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);
    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);
    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {
      uStack_10f0 = 0;
    }
    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);
    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);
  }
  puVar25 = auStack_10f8;
  if (iStack_9c == *piVar27) {
    return;
  }
  pcVar30 = *(code **)(pcVar30 + 0xeb66c);
  (*pcVar30)();
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xeb5fc))
                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54
                   ,0x1a4);
      }
      sVar2 = pDVar11->index;
      while (sVar2 != 0) {
        ppDVar23 = pDVar11->graphic_context;
        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);
        sVar7 = pDVar11->index;
        ppDVar23[sVar2] = pDVar3;
        sVar2 = sVar7 - 1;
        pDVar11->index = sVar2;
      }
      ppDVar24 = pDVar11->graphic_context;
      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);
      ppDVar23 = pDVar11->graphic_context;
      pcVar31 = *(code **)(pcVar30 + 0xeb490);
      *ppDVar24 = pDVar3;
      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);
      pDVar11->graphic_context = ppDVar23;
      if (pDVar11->pattern_id != (char *)0x0) {
        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();
        pDVar11->pattern_id = pcVar12;
      }
      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);
      pDVar11->mvg = pcVar12;
      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {
        pDVar11->image = (Image *)0x0;
      }
      else {
        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();
        pDVar11->image = pIVar4;
      }
      pcVar31 = *(code **)(pcVar30 + 0xeb800);
      pDVar11->mvg = (char *)0x0;
      pDVar11->mvg_alloc = 0;
      pDVar11->mvg_length = 0;
      pDVar11->mvg_width = 0;
      pDVar11->pattern_id = (char *)0x0;
      pDVar11->pattern_offset = 0;
      (pDVar11->pattern_bounds).x = 0;
      (pDVar11->pattern_bounds).y = 0;
      (pDVar11->pattern_bounds).width = 0;
      (pDVar11->pattern_bounds).height = 0;
      pDVar11->index = 0;
      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);
      pDVar11->graphic_context = ppDVar23;
      if (ppDVar23 != (DrawInfo **)0x0) {
        sVar2 = pDVar11->index;
        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);
        pEVar15 = pDVar11->exception;
        pDVar11->filter_off = MagickTrue;
        ppDVar23[sVar2] = pDVar3;
        pDVar11->indent_depth = 0;
        pDVar11->path_operation = PathDefaultOperation;
        pcVar31 = *(code **)(pcVar30 + 0xeb898);
        pDVar11->path_mode = DefaultPathMode;
        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);
        pcVar31 = *(code **)(pcVar30 + 0xeb548);
        pDVar11->image = pIVar4;
        (*pcVar31)(pDVar11->exception);
        pcVar30 = *(code **)(pcVar30 + 0xeb97c);
        pDVar11->destroy = MagickTrue;
        MVar5 = (*pcVar30)();
        pDVar11->debug = MVar5;
        return;
      }
      (**(code **)(pcVar30 + 0xeb430))
                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,
                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);
      return;
    }
    (**(code **)(pcVar30 + 0xeb894))
              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,
               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);
    pDVar10 = pDVar11;
  }
  pcVar31 = *(code **)(pcVar30 + 0xeb894);
  iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954;
  (*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)
  ;
  if (iVar14 != 0) {
    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {
      if (*(int *)(iVar14 + 0x1050) != 0) {
        (**(code **)(pcVar31 + 0xeb340))
                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c
                   ,0x1f0);
      }
      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);
      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;
      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);
      uVar1 = (**(code **)(pcVar31 + 0xeb334))();
      *puVar6 = uVar1;
      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);
      uVar1 = (**(code **)(pcVar31 + 0xeb158))();
      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);
      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);
      puVar6[0x402] = uVar1;
      (*pcVar30)(uVar1,uVar16);
      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));
      pcVar30 = *(code **)(pcVar31 + 0xeb434);
      puVar6[0x403] = uVar1;
      uVar1 = (*pcVar30)(uVar1);
      iVar8 = *(int *)(&DAT_00001014 + iVar14);
      uVar16 = *(undefined4 *)(iVar14 + 0x101c);
      pcVar30 = *(code **)(pcVar31 + 0xeb704);
      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);
      puVar6[0x404] = iVar8 + 1;
      puVar6[0x405] = uVar1;
      uVar1 = (*pcVar30)(uVar16);
      iVar8 = *(int *)(iVar14 + 0x1034);
      uVar22 = *(undefined4 *)(iVar14 + 0x1030);
      uVar21 = *(undefined4 *)(iVar14 + 0x1020);
      uVar20 = *(undefined4 *)(iVar14 + 0x1024);
      uVar19 = *(undefined4 *)(iVar14 + 0x1028);
      uVar16 = *(undefined4 *)(iVar14 + 0x102c);
      pcVar30 = *(code **)(pcVar31 + 0xeb544);
      puVar6[0x407] = uVar1;
      puVar6[0x40c] = uVar22;
      puVar6[0x408] = uVar21;
      puVar6[0x409] = uVar20;
      puVar6[0x40a] = uVar19;
      puVar6[0x40b] = uVar16;
      puVar6[0x40d] = iVar8;
      iVar8 = (*pcVar30)(iVar8 + 1,4);
      puVar6[0x40e] = iVar8;
      if (iVar8 != 0) {
        if (-1 < *(int *)(iVar14 + 0x1034)) {
          iVar28 = 0;
          while( true ) {
            iVar17 = iVar28 * 4;
            iVar28 = iVar28 + 1;
            uVar1 = (**(code **)(pcVar31 + 0xeb35c))
                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));
            iVar9 = *(int *)(iVar14 + 0x1034);
            *(undefined4 *)(iVar8 + iVar17) = uVar1;
            if (iVar9 < iVar28) break;
            iVar8 = puVar6[0x40e];
          }
        }
        uVar19 = *(undefined4 *)(iVar14 + 0x1040);
        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);
        uVar1 = *(undefined4 *)(iVar14 + 0x1048);
        iVar8 = *(int *)(&DAT_00001004 + iVar14);
        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);
        puVar6[0x410] = uVar19;
        puVar6[0x411] = uVar16;
        puVar6[0x412] = uVar1;
        puVar6[0x401] = iVar8;
        if (iVar8 != 0) {
          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);
          puVar6[0x401] = uVar1;
        }
        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);
        puVar6[0x413] = 1;
        iVar14 = (*pcVar30)();
        puVar6[0x414] = iVar14;
        if (iVar14 != 0) {
          (**(code **)(pcVar31 + 0xeb340))
                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,
                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);
        }
        puVar6[0x415] = 0xabacadab;
        return;
      }
      uVar1 = (**(code **)(pcVar31 + 0xeb158))();
      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();
      (**(code **)(pcVar31 + 0xeb488))(*puVar6);
      uVar16 = 0x207;
      do {
        (**(code **)(pcVar31 + 0xeb174))
                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,
                   uVar16);
        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);
        (**(code **)(pcVar31 + 0xeb00c))(uVar1);
        (**(code **)(pcVar31 + 0xeb688))();
        (**(code **)(pcVar31 + 0xeb61c))(1);
LAB_000644e0:
        uVar1 = (**(code **)(pcVar31 + 0xeb158))();
        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();
        (**(code **)(pcVar31 + 0xeb488))(*puVar6);
        uVar16 = 500;
      } while( true );
    }
    (**(code **)(pcVar31 + 0xeb5d8))
              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,
               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);
  }
  pcVar30 = *(code **)(pcVar31 + 0xeb5d8);
  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954);
  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40
            );
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xeaf28))
                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04
                   ,0x238);
      }
      sVar2 = pDVar11->index;
      while (sVar2 != 0) {
        ppDVar23 = pDVar11->graphic_context;
        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);
        sVar7 = pDVar11->index;
        ppDVar23[sVar2] = pDVar3;
        sVar2 = sVar7 - 1;
        pDVar11->index = sVar2;
      }
      ppDVar24 = pDVar11->graphic_context;
      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);
      ppDVar23 = pDVar11->graphic_context;
      pcVar31 = *(code **)(pcVar30 + 0xeadbc);
      *ppDVar24 = pDVar3;
      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);
      pDVar11->graphic_context = ppDVar23;
      if (pDVar11->pattern_id != (char *)0x0) {
        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();
        pDVar11->pattern_id = pcVar12;
      }
      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);
      pDVar11->mvg = pcVar12;
      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {
        (**(code **)(pcVar30 + 0xead84))();
      }
      pcVar31 = *(code **)(pcVar30 + 0xeabf4);
      pDVar11->image = (Image *)0x0;
      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);
      pDVar11->exception = pEVar15;
      pcVar31 = *(code **)(pcVar30 + 0xeb000);
      pDVar11->signature = 0x54535254;
      (*pcVar31)(pDVar11->id);
                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);
      return;
    }
    (**(code **)(pcVar30 + 0xeb1c0))
              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,
               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);
    pDVar10 = pDVar11;
  }
  pcVar31 = *(code **)(pcVar30 + 0xeb1c0);
  affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970);
  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954);
  (*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18);
  if (pDVar11 == (DrawingWand *)0x0) {
LAB_00064848:
    (**(code **)(pcVar31 + 0xeaff4))
              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,
               *(int *)(pcVar31 + 0xea910) + 0x19f8);
  }
  else {
    if (pDVar11->signature != 0xabacadab) {
      (**(code **)(pcVar31 + 0xeaff4))
                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,
                 *(int *)(pcVar31 + 0xea910) + 0x19f8);
      goto LAB_00064848;
    }
    if (pDVar11->debug != MagickFalse) {
      (**(code **)(pcVar31 + 0xead5c))
                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,
                 0x26a);
    }
    pDVar10 = affine;
    if (affine != (DrawingWand *)0x0) {
      AdjustAffine(pDVar11,(AffineMatrix *)affine);
      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,
                *(undefined4 *)affine->name);
      return;
    }
  }
  uVar1 = 0x26b;
  pcVar30 = *(code **)(pcVar31 + 0xeaff4);
  iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8;
  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804);
  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970);
  pPVar32 = (PointInfo *)(pcVar30 + 0xf2770);
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      pcVar31 = *(code **)(pcVar30 + 0xea8d8);
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xeabf8))
                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c
                   ,0x29c);
        pcVar31 = *(code **)(pcVar30 + 0xea8d8);
      }
      (*pcVar31)(0x2f,uStack_11f0);
      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);
      return;
    }
    (**(code **)(pcVar30 + 0xeae90))
              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,
               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);
    pDVar10 = pDVar11;
  }
  uVar1 = 0x299;
  pcVar31 = *(code **)(pcVar30 + 0xeae90);
  iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8;
  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954);
  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970);
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar31 + 0xeaac8))
                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c
                   ,0x2c7);
      }
      if (pPVar32 != (PointInfo *)0x0) {
        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);
        if (iVar8 != 0) {
          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);
                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          (**(code **)(pcVar31 + 0xea9d4))(iVar8);
          return;
        }
        return;
      }
      (**(code **)(pcVar31 + 0xead60))
                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,
                 *(int *)(pcVar31 + 0xea67c) + 0x198c);
    }
    (**(code **)(pcVar31 + 0xead60))
              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,
               *(int *)(pcVar31 + 0xea67c) + 0x198c);
    pDVar10 = pDVar11;
  }
  uVar1 = 0x2c4;
  pcVar30 = *(code **)(pcVar31 + 0xead60);
  iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c;
  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954);
  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14);
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xea93c))
                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c
                   ,0x2fb);
      }
      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);
      return;
    }
    (**(code **)(pcVar30 + 0xeabd4))
              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,
               *(int *)(pcVar30 + 0xea4f0) + 0x1974);
    pDVar10 = pDVar11;
  }
  coordinates = (PointInfo *)0x2f8;
  pcVar31 = *(code **)(pcVar30 + 0xeabd4);
  number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970);
  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954);
  (*pcVar31)();
  if (pDVar11 != (DrawingWand *)0x0) {
    pDVar10 = pDVar11;
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar31 + 0xea7f4))
                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954
                   ,0x321);
      }
      pPVar32 = coordinates;
      puVar25 = number_coordinates;
      if (coordinates != (PointInfo *)0x0) {
        MVGAppendPointsCommand
                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates
                   ,coordinates);
        return;
      }
      goto LAB_00064d9c;
    }
    (**(code **)(pcVar31 + 0xeaa8c))
              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,
               *(int *)(pcVar31 + 0xea3a8) + 0x1960);
  }
  (**(code **)(pcVar31 + 0xeaa8c))
            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,
             *(int *)(pcVar31 + 0xea3a8) + 0x1960);
LAB_00064d9c:
  uVar1 = 0x322;
  pcVar30 = *(code **)(pcVar31 + 0xeaa8c);
  iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960;
  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c);
  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14);
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xea6c8))
                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928
                   ,0x34b);
      }
      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);
      return;
    }
    (**(code **)(pcVar30 + 0xea960))
              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,
               *(int *)(pcVar30 + 0xea27c) + 0x1934);
    pDVar10 = pDVar11;
  }
  pcVar31 = *(code **)(pcVar30 + 0xea960);
  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954);
  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934
            );
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      pcVar30 = *(code **)(pcVar31 + 0xea4ec);
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar31 + 0xea5a0))
                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900
                   ,0x36a);
        pcVar30 = *(code **)(pcVar31 + 0xea4ec);
      }
      (*pcVar30)(pDVar11->exception);
      return;
    }
    (**(code **)(pcVar31 + 0xea838))
              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,
               *(int *)(pcVar31 + 0xea154) + 0x1914);
    pDVar10 = pDVar11;
  }
  pcVar30 = *(code **)(pcVar31 + 0xea838);
  iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954;
  (*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)
  ;
  if (iVar14 == 0) {
    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;
    (**(code **)(pcVar30 + 0xea758))
              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8
              );
  }
  else {
    iVar8 = *(int *)(pcVar30 + 0xea074);
    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {
      if (*(int *)(&DAT_00001008 + iVar14) != 0) {
                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        (**(code **)(pcVar30 + 0xea928))();
        return;
      }
      return;
    }
  }
  uVar1 = 0x388;
  pcVar31 = *(code **)(pcVar30 + 0xea758);
  iVar8 = iVar8 + 0x18e8;
  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c);
  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8);
  pDStack_1418 = pDVar10;
  if (pDVar11 != (DrawingWand *)0x0) {
    if (pDVar11->signature == 0xabacadab) {
      pcVar30 = *(code **)(pcVar31 + 0xea108);
      if (pDVar11->debug != MagickFalse) {
        (**(code **)(pcVar31 + 0xea428))
                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0
                   ,0x3b8);
        pcVar30 = *(code **)(pcVar31 + 0xea108);
      }
      (*pcVar30)(0x2f,uStack_1390);
      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);
      return;
    }
    (**(code **)(pcVar31 + 0xea6c0))
              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,
               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);
    pDStack_1418 = pDVar11;
  }
  pcVar30 = *(code **)(pcVar31 + 0xea6c0);
  iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970;
  pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc);
  (*pcVar30)(pDVar10,iVar14);
  piVar26 = *(int **)(pcVar30 + 0xea33c);
  iStack_141c = *piVar26;
  puStack_1410 = puVar25;
  piStack_140c = piVar27;
  pDStack_1408 = wand_00;
  if (pDVar10 != (DrawingWand *)0x0) {
    if (pDVar10->signature == 0xabacadab) {
      if (pDVar10->debug != MagickFalse) {
        (**(code **)(pcVar30 + 0xea2f8))
                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0
                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);
      }
      if (pPVar32 != (PointInfo *)0x0) {
        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);
        if ((iVar8 != 0) &&
           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))
        {
          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();
          (**(code **)(pcVar30 + 0xea6c8))
                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);
          uStack_2424 = 0x800;
          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);
          (**(code **)(pcVar30 + 0xea574))(iVar9);
          (**(code **)(pcVar30 + 0xea500))(iVar28);
          if (iVar17 != 0) {
            iStack_2420 = 0;
            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);
            (**(code **)(pcVar30 + 0xea18c))(iVar17);
            if (iVar28 == 0) {
              (**(code **)(pcVar30 + 0xe9ff0))
                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);
              (**(code **)(pcVar30 + 0xea12c))
                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,
                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,
                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,
                         pDVar10->name);
            }
            else {
              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);
              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);
              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);
              if (0 < iStack_2420) {
                iVar9 = *(int *)(pcVar30 + 0xe9eac);
                iVar17 = *(int *)(pcVar30 + 0xe9eac);
                iVar14 = iStack_2420;
                iVar8 = iVar28;
                do {
                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);
                  iVar8 = iVar8 + 0x4c;
                  if (0x4c < iVar14) {
                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));
                  }
                  iVar14 = iVar14 + -0x4c;
                } while (0 < iVar14);
              }
              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));
              (**(code **)(pcVar30 + 0xea204))(uVar16);
              (**(code **)(pcVar30 + 0xea204))(iVar28);
            }
          }
        }
        if (iStack_141c == *piVar26) {
          return;
        }
        (**(code **)(pcVar30 + 0xea1fc))();
      }
      (**(code **)(pcVar30 + 0xea590))
                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,
                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);
    }
    (**(code **)(pcVar30 + 0xea590))
              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,
               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);
  }
  pcVar31 = *(code **)(pcVar30 + 0xea590);
  iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970;
  pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954);
  (*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0);
  MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14);
  return;
}



undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)

{
  undefined4 uVar1;
  undefined4 *puVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  int iVar11;
  int iVar12;
  undefined1 *puVar13;
  undefined *puVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  undefined *unaff_s0;
  int iVar19;
  undefined1 *puVar20;
  int *piVar21;
  int *piVar22;
  int iVar23;
  code *pcVar24;
  code *pcVar25;
  code *pcVar26;
  code *pcVar27;
  undefined4 uStack_2424;
  int iStack_2420;
  undefined1 auStack_241c [4096];
  int iStack_141c;
  undefined4 *puStack_1418;
  undefined1 *puStack_1410;
  int *piStack_140c;
  undefined4 *puStack_1408;
  undefined4 uStack_1390;
  undefined4 uStack_11f0;
  undefined1 auStack_10f8 [4];
  undefined4 uStack_10f4;
  undefined4 uStack_10f0;
  undefined8 uStack_10d0;
  undefined8 uStack_10c8;
  undefined8 uStack_10c0;
  double dStack_10b0;
  undefined1 auStack_109c [4096];
  undefined4 *puStack_9c;
  undefined *puStack_98;
  
  if (param_1 == (undefined *)0x0) {
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,
               PTR_s_t_char____NULL_0014f03c + 0xd60);
  }
  else {
    unaff_s0 = param_1;
    if (*(int *)(param_1 + 0x1054) == -0x54535255) {
      if (*(int *)(param_1 + 0x1050) != 0) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,
                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);
      }
      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {
        puVar2 = (undefined4 *)
                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);
        return puVar2;
      }
      uVar1 = 0x76;
      if (param_2 == 1) {
        uVar1 = 0x56;
      }
      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;
      *(int *)(param_1 + 0x1048) = param_2;
      *(undefined4 *)(param_1 + 0x1044) = 9;
      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);
      return puVar2;
    }
  }
  uVar1 = 0xe8f;
  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;
  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;
  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;
  puVar9 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)();
  if (puVar5 == (undefined *)0x0) {
    (**(code **)(puVar9 + 0xebb8c))
              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,
               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);
  }
  else {
    unaff_s0 = puVar5;
    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {
      if (*(int *)(puVar5 + 0x1050) != 0) {
        (**(code **)(puVar9 + 0xeb8f4))
                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,
                   0xeee);
      }
      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {
        puVar2 = (undefined4 *)
                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);
        return puVar2;
      }
      iVar11 = *(int *)(puVar9 + 0xeb4a8);
      uVar1 = 0x6d;
      if (puVar10 == (undefined *)0x1) {
        uVar1 = 0x4d;
      }
      *(undefined **)(puVar5 + 0x1048) = puVar10;
      *(undefined4 *)(puVar5 + 0x1044) = 10;
      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);
      return puVar2;
    }
  }
  pcVar24 = *(code **)(puVar9 + 0xebb8c);
  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);
  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);
  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);
  piVar22 = *(int **)(pcVar24 + 0xeb7ac);
  puStack_9c = (undefined4 *)*piVar22;
  pcVar25 = *(code **)(pcVar24 + 0xeb804);
  puVar8 = puVar6;
  puStack_98 = unaff_s0;
  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&
      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&
     (*(double *)(puVar2 + 0x12) == 0.0)) {
    FUN_00062838();
  }
  else {
    (*pcVar25)(puVar6[0x401],auStack_10f8);
    uStack_10f4 = 0x17;
    dStack_10b0 = *(double *)(puVar2 + 0x12);
    uStack_10d0 = *(undefined8 *)(puVar2 + 10);
    uStack_10f0 = 4;
    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);
    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);
    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {
      uStack_10f0 = 0;
    }
    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);
    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);
  }
  puVar20 = auStack_10f8;
  if (puStack_9c == (undefined4 *)*piVar22) {
    return (undefined4 *)*piVar22;
  }
  pcVar24 = *(code **)(pcVar24 + 0xeb66c);
  (*pcVar24)();
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar24 + 0xeb5fc))
                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54
                   ,0x1a4);
      }
      iVar11 = puVar8[0x40d];
      while (iVar11 != 0) {
        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);
        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);
        iVar11 = puVar8[0x40d];
        *puVar2 = uVar1;
        iVar11 = iVar11 + -1;
        puVar8[0x40d] = iVar11;
      }
      puVar2 = (undefined4 *)puVar8[0x40e];
      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);
      uVar7 = puVar8[0x40e];
      pcVar25 = *(code **)(pcVar24 + 0xeb490);
      *puVar2 = uVar1;
      uVar1 = (*pcVar25)(uVar7);
      puVar8[0x40e] = uVar1;
      if (puVar8[0x407] != 0) {
        uVar1 = (**(code **)(pcVar24 + 0xeb508))();
        puVar8[0x407] = uVar1;
      }
      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);
      puVar8[0x403] = uVar1;
      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {
        puVar8[0x401] = 0;
      }
      else {
        uVar1 = (**(code **)(pcVar24 + 0xeb458))();
        puVar8[0x401] = uVar1;
      }
      pcVar25 = *(code **)(pcVar24 + 0xeb800);
      puVar8[0x403] = 0;
      puVar8[0x404] = 0;
      puVar8[0x405] = 0;
      puVar8[0x406] = 0;
      puVar8[0x407] = 0;
      puVar8[0x40c] = 0;
      puVar8[0x40a] = 0;
      puVar8[0x40b] = 0;
      puVar8[0x408] = 0;
      puVar8[0x409] = 0;
      puVar8[0x40d] = 0;
      iVar11 = (*pcVar25)(1,4);
      puVar8[0x40e] = iVar11;
      if (iVar11 != 0) {
        iVar19 = puVar8[0x40d];
        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);
        uVar7 = puVar8[0x402];
        puVar8[0x40f] = 1;
        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;
        puVar8[0x410] = 0;
        puVar8[0x411] = 0;
        pcVar25 = *(code **)(pcVar24 + 0xeb898);
        puVar8[0x412] = 0;
        uVar1 = (*pcVar25)(0,uVar7);
        pcVar25 = *(code **)(pcVar24 + 0xeb548);
        puVar8[0x401] = uVar1;
        (*pcVar25)(puVar8[0x402]);
        pcVar24 = *(code **)(pcVar24 + 0xeb97c);
        puVar8[0x413] = 1;
        puVar2 = (undefined4 *)(*pcVar24)();
        puVar8[0x414] = puVar2;
        return puVar2;
      }
      puVar2 = (undefined4 *)
               (**(code **)(pcVar24 + 0xeb430))
                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,
                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);
      return puVar2;
    }
    (**(code **)(pcVar24 + 0xeb894))
              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,
               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar24 + 0xeb894);
  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;
  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)
  ;
  if (iVar11 != 0) {
    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
      if (*(int *)(iVar11 + 0x1050) != 0) {
        (**(code **)(pcVar25 + 0xeb340))
                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c
                   ,0x1f0);
      }
      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);
      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;
      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);
      uVar1 = (**(code **)(pcVar25 + 0xeb334))();
      *puVar2 = uVar1;
      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);
      uVar1 = (**(code **)(pcVar25 + 0xeb158))();
      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);
      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);
      puVar2[0x402] = uVar1;
      (*pcVar24)(uVar1,uVar7);
      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));
      pcVar24 = *(code **)(pcVar25 + 0xeb434);
      puVar2[0x403] = uVar1;
      uVar1 = (*pcVar24)(uVar1);
      iVar19 = *(int *)(&DAT_00001014 + iVar11);
      uVar7 = *(undefined4 *)(iVar11 + 0x101c);
      pcVar24 = *(code **)(pcVar25 + 0xeb704);
      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);
      puVar2[0x404] = iVar19 + 1;
      puVar2[0x405] = uVar1;
      uVar1 = (*pcVar24)(uVar7);
      iVar19 = *(int *)(iVar11 + 0x1034);
      uVar18 = *(undefined4 *)(iVar11 + 0x1030);
      uVar17 = *(undefined4 *)(iVar11 + 0x1020);
      uVar16 = *(undefined4 *)(iVar11 + 0x1024);
      uVar15 = *(undefined4 *)(iVar11 + 0x1028);
      uVar7 = *(undefined4 *)(iVar11 + 0x102c);
      pcVar24 = *(code **)(pcVar25 + 0xeb544);
      puVar2[0x407] = uVar1;
      puVar2[0x40c] = uVar18;
      puVar2[0x408] = uVar17;
      puVar2[0x409] = uVar16;
      puVar2[0x40a] = uVar15;
      puVar2[0x40b] = uVar7;
      puVar2[0x40d] = iVar19;
      iVar19 = (*pcVar24)(iVar19 + 1,4);
      puVar2[0x40e] = iVar19;
      if (iVar19 != 0) {
        if (-1 < *(int *)(iVar11 + 0x1034)) {
          iVar23 = 0;
          while( true ) {
            iVar12 = iVar23 * 4;
            iVar23 = iVar23 + 1;
            uVar1 = (**(code **)(pcVar25 + 0xeb35c))
                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));
            iVar4 = *(int *)(iVar11 + 0x1034);
            *(undefined4 *)(iVar19 + iVar12) = uVar1;
            if (iVar4 < iVar23) break;
            iVar19 = puVar2[0x40e];
          }
        }
        uVar15 = *(undefined4 *)(iVar11 + 0x1040);
        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);
        uVar1 = *(undefined4 *)(iVar11 + 0x1048);
        iVar19 = *(int *)(&DAT_00001004 + iVar11);
        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);
        puVar2[0x410] = uVar15;
        puVar2[0x411] = uVar7;
        puVar2[0x412] = uVar1;
        puVar2[0x401] = iVar19;
        if (iVar19 != 0) {
          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);
          puVar2[0x401] = uVar1;
        }
        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);
        puVar2[0x413] = 1;
        iVar11 = (*pcVar24)();
        puVar2[0x414] = iVar11;
        if (iVar11 != 0) {
          (**(code **)(pcVar25 + 0xeb340))
                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,
                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);
        }
        puVar2[0x415] = 0xabacadab;
        return puVar2;
      }
      uVar1 = (**(code **)(pcVar25 + 0xeb158))();
      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();
      (**(code **)(pcVar25 + 0xeb488))(*puVar2);
      uVar7 = 0x207;
      do {
        (**(code **)(pcVar25 + 0xeb174))
                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,
                   uVar7);
        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);
        (**(code **)(pcVar25 + 0xeb00c))(uVar1);
        (**(code **)(pcVar25 + 0xeb688))();
        (**(code **)(pcVar25 + 0xeb61c))(1);
LAB_000644e0:
        uVar1 = (**(code **)(pcVar25 + 0xeb158))();
        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();
        (**(code **)(pcVar25 + 0xeb488))(*puVar2);
        uVar7 = 500;
      } while( true );
    }
    (**(code **)(pcVar25 + 0xeb5d8))
              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,
               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);
  }
  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);
  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)
  ;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar24 + 0xeaf28))
                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04
                   ,0x238);
      }
      iVar11 = puVar8[0x40d];
      while (iVar11 != 0) {
        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);
        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);
        iVar11 = puVar8[0x40d];
        *puVar2 = uVar1;
        iVar11 = iVar11 + -1;
        puVar8[0x40d] = iVar11;
      }
      puVar2 = (undefined4 *)puVar8[0x40e];
      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);
      uVar7 = puVar8[0x40e];
      pcVar25 = *(code **)(pcVar24 + 0xeadbc);
      *puVar2 = uVar1;
      uVar1 = (*pcVar25)(uVar7);
      puVar8[0x40e] = uVar1;
      if (puVar8[0x407] != 0) {
        uVar1 = (**(code **)(pcVar24 + 0xeae34))();
        puVar8[0x407] = uVar1;
      }
      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);
      puVar8[0x403] = uVar1;
      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {
        (**(code **)(pcVar24 + 0xead84))();
      }
      pcVar25 = *(code **)(pcVar24 + 0xeabf4);
      puVar8[0x401] = 0;
      uVar1 = (*pcVar25)(puVar8[0x402]);
      puVar8[0x402] = uVar1;
      pcVar25 = *(code **)(pcVar24 + 0xeb000);
      puVar8[0x415] = 0x54535254;
      (*pcVar25)(*puVar8);
                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);
      return puVar2;
    }
    (**(code **)(pcVar24 + 0xeb1c0))
              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,
               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);
  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);
  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;
  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);
  if (iVar11 == 0) {
LAB_00064848:
    (**(code **)(pcVar25 + 0xeaff4))
              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,
               *(int *)(pcVar25 + 0xea910) + 0x19f8);
  }
  else {
    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {
      (**(code **)(pcVar25 + 0xeaff4))
                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,
                 *(int *)(pcVar25 + 0xea910) + 0x19f8);
      goto LAB_00064848;
    }
    if (*(int *)(iVar11 + 0x1050) != 0) {
      (**(code **)(pcVar25 + 0xead5c))
                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,
                 0x26a);
    }
    puVar2 = puVar8;
    if (puVar8 != (undefined4 *)0x0) {
      FUN_00062640(iVar11,puVar8);
      puVar2 = (undefined4 *)
               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);
      return puVar2;
    }
  }
  uVar1 = 0x26b;
  pcVar26 = *(code **)(pcVar25 + 0xeaff4);
  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);
  pcVar24 = pcVar26 + 0xf2770;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea8d8);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xeabf8))
                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c
                   ,0x29c);
        pcVar24 = *(code **)(pcVar26 + 0xea8d8);
      }
      (*pcVar24)(0x2f,uStack_11f0);
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xeae90))
              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,
               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);
    puVar2 = puVar8;
  }
  uVar1 = 0x299;
  pcVar25 = *(code **)(pcVar26 + 0xeae90);
  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;
  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);
  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar25 + 0xeaac8))
                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c
                   ,0x2c7);
      }
      if (pcVar24 != (code *)0x0) {
        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);
        if (iVar19 != 0) {
          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);
                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);
          return puVar2;
        }
        return (undefined4 *)0x0;
      }
      (**(code **)(pcVar25 + 0xead60))
                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,
                 *(int *)(pcVar25 + 0xea67c) + 0x198c);
    }
    (**(code **)(pcVar25 + 0xead60))
              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,
               *(int *)(pcVar25 + 0xea67c) + 0x198c);
    puVar2 = puVar8;
  }
  uVar1 = 0x2c4;
  pcVar26 = *(code **)(pcVar25 + 0xead60);
  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea93c))
                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c
                   ,0x2fb);
      }
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xeabd4))
              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,
               *(int *)(pcVar26 + 0xea4f0) + 0x1974);
    puVar2 = puVar8;
  }
  pcVar25 = (code *)0x2f8;
  pcVar27 = *(code **)(pcVar26 + 0xeabd4);
  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);
  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);
  (*pcVar27)();
  if (puVar8 == (undefined4 *)0x0) {
LAB_00064d78:
    (**(code **)(pcVar27 + 0xeaa8c))
              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,
               *(int *)(pcVar27 + 0xea3a8) + 0x1960);
  }
  else {
    puVar2 = puVar8;
    if (puVar8[0x415] != -0x54535255) {
      (**(code **)(pcVar27 + 0xeaa8c))
                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,
                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);
      goto LAB_00064d78;
    }
    if (puVar8[0x414] != 0) {
      (**(code **)(pcVar27 + 0xea7f4))
                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,
                 0x321);
    }
    pcVar24 = pcVar25;
    puVar20 = puVar13;
    if (pcVar25 != (code *)0x0) {
      puVar2 = (undefined4 *)
               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);
      return puVar2;
    }
  }
  uVar1 = 0x322;
  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);
  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;
  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);
  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar25 + 0xea6c8))
                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928
                   ,0x34b);
      }
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar25 + 0xea960))
              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,
               *(int *)(pcVar25 + 0xea27c) + 0x1934);
    puVar2 = puVar8;
  }
  pcVar26 = *(code **)(pcVar25 + 0xea960);
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)
  ;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea4ec);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea5a0))
                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900
                   ,0x36a);
        pcVar24 = *(code **)(pcVar26 + 0xea4ec);
      }
      (*pcVar24)(puVar8[0x402]);
      return (undefined4 *)0x1;
    }
    (**(code **)(pcVar26 + 0xea838))
              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,
               *(int *)(pcVar26 + 0xea154) + 0x1914);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar26 + 0xea838);
  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;
  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)
  ;
  if (iVar11 == 0) {
    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;
    (**(code **)(pcVar25 + 0xea758))
              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,
               iVar19);
  }
  else {
    iVar19 = *(int *)(pcVar25 + 0xea074);
    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
      if (*(int *)(&DAT_00001008 + iVar11) != 0) {
                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();
        return puVar2;
      }
      return (undefined4 *)0x0;
    }
  }
  uVar1 = 0x388;
  pcVar26 = *(code **)(pcVar25 + 0xea758);
  iVar19 = iVar19 + 0x18e8;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);
  puStack_1418 = puVar2;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea108);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea428))
                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0
                   ,0x3b8);
        pcVar24 = *(code **)(pcVar26 + 0xea108);
      }
      (*pcVar24)(0x2f,uStack_1390);
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xea6c0))
              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,
               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);
    puStack_1418 = puVar8;
  }
  pcVar25 = *(code **)(pcVar26 + 0xea6c0);
  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;
  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;
  (*pcVar25)(iVar11,iVar19);
  piVar21 = *(int **)(pcVar25 + 0xea33c);
  iStack_141c = *piVar21;
  puStack_1410 = puVar20;
  piStack_140c = piVar22;
  puStack_1408 = puVar6;
  if (iVar11 == 0) goto LAB_0006557c;
  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
    if (*(int *)(iVar11 + 0x1050) != 0) {
      (**(code **)(pcVar25 + 0xea2f8))
                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,
                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);
    }
    if (pcVar24 != (code *)0x0) {
      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);
      if ((iVar23 == 0) ||
         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))
                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {
LAB_000654a8:
        puVar2 = (undefined4 *)0x0;
      }
      else {
        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();
        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)
        ;
        uStack_2424 = 0x800;
        iVar3 = (**(code **)(pcVar25 + 0xea4bc))
                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));
        (**(code **)(pcVar25 + 0xea574))(iVar12);
        (**(code **)(pcVar25 + 0xea500))(iVar4);
        if (iVar3 == 0) goto LAB_000654a8;
        iStack_2420 = 0;
        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);
        (**(code **)(pcVar25 + 0xea18c))(iVar3);
        if (iVar4 == 0) {
          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)
          ;
          (**(code **)(pcVar25 + 0xea12c))
                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,
                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,
                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,
                     iVar11 + 4);
          goto LAB_000654a8;
        }
        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);
        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);
        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);
        if (0 < iStack_2420) {
          iVar12 = *(int *)(pcVar25 + 0xe9eac);
          iVar3 = *(int *)(pcVar25 + 0xe9eac);
          iVar19 = iStack_2420;
          iVar23 = iVar4;
          do {
            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);
            iVar23 = iVar23 + 0x4c;
            if (0x4c < iVar19) {
              FUN_00062838(iVar11,iVar3 + 0x4030);
            }
            iVar19 = iVar19 + -0x4c;
          } while (0 < iVar19);
        }
        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);
        (**(code **)(pcVar25 + 0xea204))(uVar7);
        (**(code **)(pcVar25 + 0xea204))(iVar4);
        puVar2 = (undefined4 *)0x1;
      }
      if (iStack_141c == *piVar21) {
        return puVar2;
      }
      (**(code **)(pcVar25 + 0xea1fc))();
    }
    (**(code **)(pcVar25 + 0xea590))
              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,
               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
  }
  (**(code **)(pcVar25 + 0xea590))
            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,
             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
LAB_0006557c:
  (**(code **)(pcVar25 + 0xea590))
            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,
             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
  puVar2 = (undefined4 *)FUN_00062838();
  return puVar2;
}


lui gp,0xf
addiu gp,gp,0x35e0
addu gp,gp,t9
addiu sp,sp,-0x38
sdc1 f20,0x30(sp)
mtc1 a3,f20
sw gp,0x18(sp)
sw ra,0x2c(sp)
sw s1,0x28(sp)
sw s0,0x24(sp)
beq a0,zero,0x00063b4c
_mthc1 a2,f20
lui v0,0xabac
lw v1,0x1054(a0)
ori v0,v0,0xadab
bne v1,v0,0x00063b70
_or s0,a0,zero
lw v0,0x1050(a0)
bne v0,zero,0x00063b10
_or s1,a1,zero
lw v1,0x1044(s0)
li v0,0x9
beq v1,v0,0x00063ad0
_li v1,0x56
lw a1,-0x7fc4(gp)
li v0,0x76
lw t9,-0x7f90(gp)
xori a2,s1,0x1
sdc1 f20,0x10(sp)
movz v0,v1,a2
addiu a1,a1,-0x830
addiu t9,t9,0x2bdc
sw s1,0x1048(s0)
or a0,s0,zero
or a2,v0,zero
li v0,0x9
bal 0x00062bdc
_sw v0,0x1044(s0)
lw ra,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
ldc1 f20,0x30(sp)
jr ra
_addiu sp,sp,0x38
lw v0,0x1048(s0)
bne v0,s1,0x00063a80
_nop
mfc1 a3,f20
lw a1,-0x7fc4(gp)
or a0,s0,zero
lw t9,-0x7f90(gp)
mfhc1 a2,f20
ldc1 f20,0x30(sp)
lw ra,0x2c(sp)
addiu a1,a1,-0x828
lw s1,0x28(sp)
addiu t9,t9,0x2bdc
lw s0,0x24(sp)
b 0x00062bdc
_addiu sp,sp,0x38
addiu v0,a0,0x4
lw a2,-0x7fc4(gp)
lw a1,-0x7fc4(gp)
li a3,0xe91
lw t9,-0x7b78(gp)
lui a0,0x4
sw v0,0x14(sp)
addiu a2,a2,0xd48
lw v0,-0x7fd0(gp)
addiu a1,a1,-0x970
addiu v0,v0,-0x131c
jalr t9
_sw v0,0x10(sp)
b 0x00063a70
_lw gp,0x18(sp)
lw a3,-0x7fc4(gp)
li a2,0xe8e
lw a1,-0x7fc4(gp)
lw a0,-0x7fc4(gp)
lw t9,-0x78e0(gp)
addiu a3,a3,0xd60
addiu a1,a1,-0x970
jalr t9
_addiu a0,a0,-0x954
lw a3,-0x7fc4(gp)
li a2,0xe8f
lw a1,-0x7fc4(gp)
lw a0,-0x7fc4(gp)
lw t9,-0x78e0(gp)
addiu a3,a3,0xd60
addiu a1,a1,-0x970
jalr t9
_addiu a0,a0,0x419c
(translation_unit "undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}\n\n" (function_definition "undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" type_identifier (pointer_declarator "* FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" * (function_declarator "FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 uStack_2424;" type_identifier identifier ;) (declaration "int iStack_2420;" primitive_type identifier ;) (declaration "undefined1 auStack_241c [4096];" type_identifier (array_declarator "auStack_241c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_141c;" primitive_type identifier ;) (declaration "undefined4 *puStack_1418;" type_identifier (pointer_declarator "*puStack_1418" * identifier) ;) (declaration "undefined1 *puStack_1410;" type_identifier (pointer_declarator "*puStack_1410" * identifier) ;) (declaration "int *piStack_140c;" primitive_type (pointer_declarator "*piStack_140c" * identifier) ;) (declaration "undefined4 *puStack_1408;" type_identifier (pointer_declarator "*puStack_1408" * identifier) ;) (declaration "undefined4 uStack_1390;" type_identifier identifier ;) (declaration "undefined4 uStack_11f0;" type_identifier identifier ;) (declaration "undefined1 auStack_10f8 [4];" type_identifier (array_declarator "auStack_10f8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_10f4;" type_identifier identifier ;) (declaration "undefined4 uStack_10f0;" type_identifier identifier ;) (declaration "undefined8 uStack_10d0;" type_identifier identifier ;) (declaration "undefined8 uStack_10c8;" type_identifier identifier ;) (declaration "undefined8 uStack_10c0;" type_identifier identifier ;) (declaration "double dStack_10b0;" primitive_type identifier ;) (declaration "undefined1 auStack_109c [4096];" type_identifier (array_declarator "auStack_109c [4096]" identifier [ number_literal ]) ;) (declaration "undefined4 *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (if_statement "if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" ( (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x954" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" { (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" ( number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd48" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" if (parenthesized_expression "((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2))" ( (binary_expression "(*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)" (parenthesized_expression "(*(int *)(param_1 + 0x1044) == 9)" ( (binary_expression "*(int *)(param_1 + 0x1044) == 9" (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x1048) == param_2)" ( (binary_expression "*(int *)(param_1 + 0x1048) == param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" { (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" identifier = (cast_expression "(undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" identifier (argument_list "(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" ( identifier , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x828" identifier + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "uVar1 = 0x76;" (assignment_expression "uVar1 = 0x76" identifier = number_literal) ;) (if_statement "if (param_2 == 1) {\n        uVar1 = 0x56;\n      }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n        uVar1 = 0x56;\n      }" { (expression_statement "uVar1 = 0x56;" (assignment_expression "uVar1 = 0x56" identifier = number_literal) ;) })) (expression_statement "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;" (assignment_expression "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x830" identifier + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x1048) = param_2;" (assignment_expression "*(int *)(param_1 + 0x1048) = param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 9;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 9" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" * (cast_expression "(undefined4 *)(param_1 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" identifier = (cast_expression "(undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(param_1,puVar9,uVar1)" identifier (argument_list "(param_1,puVar9,uVar1)" ( identifier , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0xe8f;" (assignment_expression "uVar1 = 0xe8f" identifier = number_literal) ;) (expression_statement "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;" (assignment_expression "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;" (assignment_expression "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;" (assignment_expression "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + 0x419c" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR___assert_fail_0014f720;" (assignment_expression "puVar9 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)();" (call_expression "(*(code *)PTR___assert_fail_0014f720)()" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }" { (expression_statement "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(**(code **)(puVar9 + 0xebb8c))" ( (pointer_expression "**(code **)(puVar9 + 0xebb8c)" * (pointer_expression "*(code **)(puVar9 + 0xebb8c)" * (cast_expression "(code **)(puVar9 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xebb8c)" ( (binary_expression "puVar9 + 0xebb8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x954" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" { (expression_statement "unaff_s0 = puVar5;" (assignment_expression "unaff_s0 = puVar5" identifier = identifier) ;) (if_statement "if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(puVar5 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x1054)" * (cast_expression "(int *)(puVar5 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1054)" ( (binary_expression "puVar5 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" { (if_statement "if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1050) != 0)" ( (binary_expression "*(int *)(puVar5 + 0x1050) != 0" (pointer_expression "*(int *)(puVar5 + 0x1050)" * (cast_expression "(int *)(puVar5 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1050)" ( (binary_expression "puVar5 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" { (expression_statement "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);" (call_expression "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" (parenthesized_expression "(**(code **)(puVar9 + 0xeb8f4))" ( (pointer_expression "**(code **)(puVar9 + 0xeb8f4)" * (pointer_expression "*(code **)(puVar9 + 0xeb8f4)" * (cast_expression "(code **)(puVar9 + 0xeb8f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xeb8f4)" ( (binary_expression "puVar9 + 0xeb8f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcb8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" if (parenthesized_expression "((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10))" ( (binary_expression "(*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)" (parenthesized_expression "(*(int *)(puVar5 + 0x1044) == 10)" ( (binary_expression "*(int *)(puVar5 + 0x1044) == 10" (pointer_expression "*(int *)(puVar5 + 0x1044)" * (cast_expression "(int *)(puVar5 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1044)" ( (binary_expression "puVar5 + 0x1044" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(undefined **)(puVar5 + 0x1048) == puVar10)" ( (binary_expression "*(undefined **)(puVar5 + 0x1048) == puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" * (cast_expression "(undefined **)(puVar5 + 0x1048)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x1048)" ( (binary_expression "puVar5 + 0x1048" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" { (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" identifier = (cast_expression "(undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" identifier (argument_list "(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" ( identifier , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x8bc" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "iVar11 = *(int *)(puVar9 + 0xeb4a8);" (assignment_expression "iVar11 = *(int *)(puVar9 + 0xeb4a8)" identifier = (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = 0x6d;" (assignment_expression "uVar1 = 0x6d" identifier = number_literal) ;) (if_statement "if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }" if (parenthesized_expression "(puVar10 == (undefined *)0x1)" ( (binary_expression "puVar10 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar1 = 0x4d;\n      }" { (expression_statement "uVar1 = 0x4d;" (assignment_expression "uVar1 = 0x4d" identifier = number_literal) ;) })) (expression_statement "*(undefined **)(puVar5 + 0x1048) = puVar10;" (assignment_expression "*(undefined **)(puVar5 + 0x1048) = puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" * (cast_expression "(undefined **)(puVar5 + 0x1048)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x1048)" ( (binary_expression "puVar5 + 0x1048" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar5 + 0x1044) = 10;" (assignment_expression "*(undefined4 *)(puVar5 + 0x1044) = 10" (pointer_expression "*(undefined4 *)(puVar5 + 0x1044)" * (cast_expression "(undefined4 *)(puVar5 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1044)" ( (binary_expression "puVar5 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" identifier = (cast_expression "(undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" identifier (argument_list "(puVar5,iVar11 + -0x890,uVar1)" ( identifier , (binary_expression "iVar11 + -0x890" identifier + number_literal) , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "pcVar24 = *(code **)(puVar9 + 0xebb8c);" (assignment_expression "pcVar24 = *(code **)(puVar9 + 0xebb8c)" identifier = (pointer_expression "*(code **)(puVar9 + 0xebb8c)" * (cast_expression "(code **)(puVar9 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xebb8c)" ( (binary_expression "puVar9 + 0xebb8c" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);" (assignment_expression "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + -0x970)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0x419c" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar22 = *(int **)(pcVar24 + 0xeb7ac);" (assignment_expression "piVar22 = *(int **)(pcVar24 + 0xeb7ac)" identifier = (pointer_expression "*(int **)(pcVar24 + 0xeb7ac)" * (cast_expression "(int **)(pcVar24 + 0xeb7ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb7ac)" ( (binary_expression "pcVar24 + 0xeb7ac" identifier + number_literal) ))))) ;) (expression_statement "puStack_9c = (undefined4 *)*piVar22;" (assignment_expression "puStack_9c = (undefined4 *)*piVar22" identifier = (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb804);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb804)" * (cast_expression "(code **)(pcVar24 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb804)" ( (binary_expression "pcVar24 + 0xeb804" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" identifier = identifier) ;) (expression_statement "puStack_98 = unaff_s0;" (assignment_expression "puStack_98 = unaff_s0" identifier = identifier) ;) (if_statement "if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" if (parenthesized_expression "((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0))" ( (binary_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)" (parenthesized_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0))" ( (binary_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" (parenthesized_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0))" ( (binary_expression "(*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)" (parenthesized_expression "(*(double *)(puVar2 + 10) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 10) == 0.0" (pointer_expression "*(double *)(puVar2 + 10)" * (cast_expression "(double *)(puVar2 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(double *)(puVar2 + 0xc) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 0xc) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xc)" * (cast_expression "(double *)(puVar2 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" ( (comma_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb804)" * (cast_expression "(code **)(pcVar24 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb804)" ( (binary_expression "pcVar24 + 0xeb804" identifier + number_literal) ))))) , (binary_expression "*(double *)(puVar2 + 0xe) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xe)" * (cast_expression "(double *)(puVar2 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(double *)(puVar2 + 0x12) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 0x12) == 0.0" (pointer_expression "*(double *)(puVar2 + 0x12)" * (cast_expression "(double *)(puVar2 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_00062838();\n  }" { (expression_statement "FUN_00062838();" (call_expression "FUN_00062838()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" else (compound_statement "{\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" { (expression_statement "(*pcVar25)(puVar6[0x401],auStack_10f8);" (call_expression "(*pcVar25)(puVar6[0x401],auStack_10f8)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar6[0x401],auStack_10f8)" ( (subscript_expression "puVar6[0x401]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "uStack_10f4 = 0x17;" (assignment_expression "uStack_10f4 = 0x17" identifier = number_literal) ;) (expression_statement "dStack_10b0 = *(double *)(puVar2 + 0x12);" (assignment_expression "dStack_10b0 = *(double *)(puVar2 + 0x12)" identifier = (pointer_expression "*(double *)(puVar2 + 0x12)" * (cast_expression "(double *)(puVar2 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) ))))) ;) (expression_statement "uStack_10d0 = *(undefined8 *)(puVar2 + 10);" (assignment_expression "uStack_10d0 = *(undefined8 *)(puVar2 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 10)" * (cast_expression "(undefined8 *)(puVar2 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) ))))) ;) (expression_statement "uStack_10f0 = 4;" (assignment_expression "uStack_10f0 = 4" identifier = number_literal) ;) (expression_statement "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);" (assignment_expression "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 0xc)" * (cast_expression "(undefined8 *)(puVar2 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);" (assignment_expression "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 0xe)" * (cast_expression "(undefined8 *)(puVar2 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }" if (parenthesized_expression "(dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0))" ( (binary_expression "dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" identifier == (pointer_expression "*(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" * (cast_expression "(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" ( (binary_expression "*(int *)(pcVar24 + 0xeb30c) + 0x75f0" (pointer_expression "*(int *)(pcVar24 + 0xeb30c)" * (cast_expression "(int *)(pcVar24 + 0xeb30c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb30c)" ( (binary_expression "pcVar24 + 0xeb30c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uStack_10f0 = 0;\n    }" { (expression_statement "uStack_10f0 = 0;" (assignment_expression "uStack_10f0 = 0" identifier = number_literal) ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);" (call_expression "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb608))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb608)" * (pointer_expression "*(code **)(pcVar24 + 0xeb608)" * (cast_expression "(code **)(pcVar24 + 0xeb608)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb608)" ( (binary_expression "pcVar24 + 0xeb608" identifier + number_literal) ))))) )) (argument_list "(auStack_10f8,1,auStack_109c)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);" (call_expression "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" identifier (argument_list "(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" ( identifier , (binary_expression "*(int *)(pcVar24 + 0xeb310) + -0x131c" (pointer_expression "*(int *)(pcVar24 + 0xeb310)" * (cast_expression "(int *)(pcVar24 + 0xeb310)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb310)" ( (binary_expression "pcVar24 + 0xeb310" identifier + number_literal) )))) + number_literal) , identifier ))) ;) }))) (expression_statement "puVar20 = auStack_10f8;" (assignment_expression "puVar20 = auStack_10f8" identifier = identifier) ;) (if_statement "if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }" if (parenthesized_expression "(puStack_9c == (undefined4 *)*piVar22)" ( (binary_expression "puStack_9c == (undefined4 *)*piVar22" identifier == (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) )) (compound_statement "{\n    return (undefined4 *)*piVar22;\n  }" { (return_statement "return (undefined4 *)*piVar22;" return (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier)) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb66c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb66c)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb66c)" * (cast_expression "(code **)(pcVar24 + 0xeb66c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb66c)" ( (binary_expression "pcVar24 + 0xeb66c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);" (call_expression "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb5fc))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb5fc)" * (pointer_expression "*(code **)(pcVar24 + 0xeb5fc)" * (cast_expression "(code **)(pcVar24 + 0xeb5fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb5fc)" ( (binary_expression "pcVar24 + 0xeb5fc" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" ( number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" identifier = (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" ( (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" * (cast_expression "(code **)(pcVar24 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb4ac)" ( (binary_expression "pcVar24 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" identifier = (cast_expression "(undefined4 *)puVar8[0x40e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" * (cast_expression "(code **)(pcVar24 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb4ac)" ( (binary_expression "pcVar24 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" identifier = (subscript_expression "puVar8[0x40e]" identifier [ number_literal ])) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb490);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb490)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb490)" * (cast_expression "(code **)(pcVar24 + 0xeb490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb490)" ( (binary_expression "pcVar24 + 0xeb490" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" identifier = (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" if (parenthesized_expression "(puVar8[0x407] != 0)" ( (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb508))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb508)" * (pointer_expression "*(code **)(pcVar24 + 0xeb508)" * (cast_expression "(code **)(pcVar24 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb508)" ( (binary_expression "pcVar24 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb508)" * (pointer_expression "*(code **)(pcVar24 + 0xeb508)" * (cast_expression "(code **)(pcVar24 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb508)" ( (binary_expression "pcVar24 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x403])" ( (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" if (parenthesized_expression "((puVar8[0x413] == 0) || (puVar8[0x401] == 0))" ( (binary_expression "(puVar8[0x413] == 0) || (puVar8[0x401] == 0)" (parenthesized_expression "(puVar8[0x413] == 0)" ( (binary_expression "puVar8[0x413] == 0" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(puVar8[0x401] == 0)" ( (binary_expression "puVar8[0x401] == 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        puVar8[0x401] = 0;\n      }" { (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" else (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb458))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb458))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb458))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb458))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb458)" * (pointer_expression "*(code **)(pcVar24 + 0xeb458)" * (cast_expression "(code **)(pcVar24 + 0xeb458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb458)" ( (binary_expression "pcVar24 + 0xeb458" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb800);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb800)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb800)" * (cast_expression "(code **)(pcVar24 + 0xeb800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb800)" ( (binary_expression "pcVar24 + 0xeb800" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x403] = 0;" (assignment_expression "puVar8[0x403] = 0" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x404] = 0;" (assignment_expression "puVar8[0x404] = 0" (subscript_expression "puVar8[0x404]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x405] = 0;" (assignment_expression "puVar8[0x405] = 0" (subscript_expression "puVar8[0x405]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x406] = 0;" (assignment_expression "puVar8[0x406] = 0" (subscript_expression "puVar8[0x406]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x407] = 0;" (assignment_expression "puVar8[0x407] = 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40c] = 0;" (assignment_expression "puVar8[0x40c] = 0" (subscript_expression "puVar8[0x40c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40a] = 0;" (assignment_expression "puVar8[0x40a] = 0" (subscript_expression "puVar8[0x40a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40b] = 0;" (assignment_expression "puVar8[0x40b] = 0" (subscript_expression "puVar8[0x40b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x408] = 0;" (assignment_expression "puVar8[0x408] = 0" (subscript_expression "puVar8[0x408]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x409] = 0;" (assignment_expression "puVar8[0x409] = 0" (subscript_expression "puVar8[0x409]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40d] = 0;" (assignment_expression "puVar8[0x40d] = 0" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = (*pcVar25)(1,4);" (assignment_expression "iVar11 = (*pcVar25)(1,4)" identifier = (call_expression "(*pcVar25)(1,4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(1,4)" ( number_literal , number_literal )))) ;) (expression_statement "puVar8[0x40e] = iVar11;" (assignment_expression "puVar8[0x40e] = iVar11" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" { (expression_statement "iVar19 = puVar8[0x40d];" (assignment_expression "iVar19 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb618))(0,0)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb618))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb618)" * (pointer_expression "*(code **)(pcVar24 + 0xeb618)" * (cast_expression "(code **)(pcVar24 + 0xeb618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb618)" ( (binary_expression "pcVar24 + 0xeb618" identifier + number_literal) ))))) )) (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "uVar7 = puVar8[0x402];" (assignment_expression "uVar7 = puVar8[0x402]" identifier = (subscript_expression "puVar8[0x402]" identifier [ number_literal ])) ;) (expression_statement "puVar8[0x40f] = 1;" (assignment_expression "puVar8[0x40f] = 1" (subscript_expression "puVar8[0x40f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;" (assignment_expression "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1" (pointer_expression "*(undefined4 *)(iVar11 + iVar19 * 4)" * (cast_expression "(undefined4 *)(iVar11 + iVar19 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar19 * 4)" ( (binary_expression "iVar11 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar8[0x410] = 0;" (assignment_expression "puVar8[0x410] = 0" (subscript_expression "puVar8[0x410]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x411] = 0;" (assignment_expression "puVar8[0x411] = 0" (subscript_expression "puVar8[0x411]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb898);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb898)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb898)" * (cast_expression "(code **)(pcVar24 + 0xeb898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb898)" ( (binary_expression "pcVar24 + 0xeb898" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x412] = 0;" (assignment_expression "puVar8[0x412] = 0" (subscript_expression "puVar8[0x412]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (*pcVar25)(0,uVar7);" (assignment_expression "uVar1 = (*pcVar25)(0,uVar7)" identifier = (call_expression "(*pcVar25)(0,uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(0,uVar7)" ( number_literal , identifier )))) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb548);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb548)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb548)" * (cast_expression "(code **)(pcVar24 + 0xeb548)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb548)" ( (binary_expression "pcVar24 + 0xeb548" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar25)(puVar8[0x402]);" (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb97c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb97c)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb97c)" * (cast_expression "(code **)(pcVar24 + 0xeb97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb97c)" ( (binary_expression "pcVar24 + 0xeb97c" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x413] = 1;" (assignment_expression "puVar8[0x413] = 1" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar2 = (undefined4 *)(*pcVar24)()" identifier = (cast_expression "(undefined4 *)(*pcVar24)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar8[0x414] = puVar2;" (assignment_expression "puVar8[0x414] = puVar2" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);" (assignment_expression "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" identifier = (cast_expression "(undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb430))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb430)" * (pointer_expression "*(code **)(pcVar24 + 0xeb430)" * (cast_expression "(code **)(pcVar24 + 0xeb430)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb430)" ( (binary_expression "pcVar24 + 0xeb430" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);" (call_expression "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb894))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb894)" * (pointer_expression "*(code **)(pcVar24 + 0xeb894)" * (cast_expression "(code **)(pcVar24 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb894)" ( (binary_expression "pcVar24 + 0xeb894" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" ( (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb894);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb894)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb894)" * (cast_expression "(code **)(pcVar24 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb894)" ( (binary_expression "pcVar24 + 0xeb894" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954" identifier = (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" ( identifier , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" { (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb340)" * (pointer_expression "*(code **)(pcVar25 + 0xeb340)" * (cast_expression "(code **)(pcVar25 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb340)" ( (binary_expression "pcVar25 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb784))(0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb784))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb784)" * (pointer_expression "*(code **)(pcVar25 + 0xeb784)" * (cast_expression "(code **)(pcVar25 + 0xeb784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb784)" ( (binary_expression "pcVar25 + 0xeb784" identifier + number_literal) ))))) )) (argument_list "(0x1058)" ( number_literal ))))) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000644e0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);" (call_expression "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb64c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb64c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb64c)" * (cast_expression "(code **)(pcVar25 + 0xeb64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb64c)" ( (binary_expression "pcVar25 + 0xeb64c" identifier + number_literal) ))))) )) (argument_list "(puVar2,0,0x1058)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb334))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb334))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb334))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb334))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb334)" * (pointer_expression "*(code **)(pcVar25 + 0xeb334)" * (cast_expression "(code **)(pcVar25 + 0xeb334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb334)" ( (binary_expression "pcVar25 + 0xeb334" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);" (call_expression "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb038))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb038)" * (pointer_expression "*(code **)(pcVar25 + 0xeb038)" * (cast_expression "(code **)(pcVar25 + 0xeb038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb038)" ( (binary_expression "pcVar25 + 0xeb038" identifier + number_literal) ))))) )) (argument_list "(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" ( (binary_expression "puVar2 + 1" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x818" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5a8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5a8)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb5a8)" * (cast_expression "(code **)(pcVar25 + 0xeb5a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5a8)" ( (binary_expression "pcVar25 + 0xeb5a8" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x402] = uVar1;" (assignment_expression "puVar2[0x402] = uVar1" (subscript_expression "puVar2[0x402]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar24)(uVar1,uVar7);" (call_expression "(*pcVar24)(uVar1,uVar7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar1,uVar7)" ( identifier , identifier ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb704))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb704)" * (pointer_expression "*(code **)(pcVar25 + 0xeb704)" * (cast_expression "(code **)(pcVar25 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb704)" ( (binary_expression "pcVar25 + 0xeb704" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x100c))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x100c)" * (cast_expression "(undefined4 *)(iVar11 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100c)" ( (binary_expression "iVar11 + 0x100c" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb434);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb434)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb434)" * (cast_expression "(code **)(pcVar25 + 0xeb434)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb434)" ( (binary_expression "pcVar25 + 0xeb434" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x403] = uVar1;" (assignment_expression "puVar2[0x403] = uVar1" (subscript_expression "puVar2[0x403]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar24)(uVar1);" (assignment_expression "uVar1 = (*pcVar24)(uVar1)" identifier = (call_expression "(*pcVar24)(uVar1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar1)" ( identifier )))) ;) (expression_statement "iVar19 = *(int *)(&DAT_00001014 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001014 + iVar11)" identifier = (pointer_expression "*(int *)(&DAT_00001014 + iVar11)" * (cast_expression "(int *)(&DAT_00001014 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar11)" ( (binary_expression "&DAT_00001014 + iVar11" (pointer_expression "&DAT_00001014" & identifier) + identifier) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x101c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x101c)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x101c)" * (cast_expression "(undefined4 *)(iVar11 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x101c)" ( (binary_expression "iVar11 + 0x101c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb704);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb704)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb704)" * (cast_expression "(code **)(pcVar25 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb704)" ( (binary_expression "pcVar25 + 0xeb704" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);" (assignment_expression "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11)" (subscript_expression "puVar2[0x406]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(&DAT_00001018 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001018 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar11)" ( (binary_expression "&DAT_00001018 + iVar11" (pointer_expression "&DAT_00001018" & identifier) + identifier) ))))) ;) (expression_statement "puVar2[0x404] = iVar19 + 1;" (assignment_expression "puVar2[0x404] = iVar19 + 1" (subscript_expression "puVar2[0x404]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "puVar2[0x405] = uVar1;" (assignment_expression "puVar2[0x405] = uVar1" (subscript_expression "puVar2[0x405]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar24)(uVar7);" (assignment_expression "uVar1 = (*pcVar24)(uVar7)" identifier = (call_expression "(*pcVar24)(uVar7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar19 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)(iVar11 + 0x1030);" (assignment_expression "uVar18 = *(undefined4 *)(iVar11 + 0x1030)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1030)" * (cast_expression "(undefined4 *)(iVar11 + 0x1030)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1030)" ( (binary_expression "iVar11 + 0x1030" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar11 + 0x1020);" (assignment_expression "uVar17 = *(undefined4 *)(iVar11 + 0x1020)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1020)" * (cast_expression "(undefined4 *)(iVar11 + 0x1020)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1020)" ( (binary_expression "iVar11 + 0x1020" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0x1024);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0x1024)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1024)" * (cast_expression "(undefined4 *)(iVar11 + 0x1024)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1024)" ( (binary_expression "iVar11 + 0x1024" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1028);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1028)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1028)" * (cast_expression "(undefined4 *)(iVar11 + 0x1028)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1028)" ( (binary_expression "iVar11 + 0x1028" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x102c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x102c)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x102c)" * (cast_expression "(undefined4 *)(iVar11 + 0x102c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x102c)" ( (binary_expression "iVar11 + 0x102c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb544);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb544)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb544)" * (cast_expression "(code **)(pcVar25 + 0xeb544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb544)" ( (binary_expression "pcVar25 + 0xeb544" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x407] = uVar1;" (assignment_expression "puVar2[0x407] = uVar1" (subscript_expression "puVar2[0x407]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40c] = uVar18;" (assignment_expression "puVar2[0x40c] = uVar18" (subscript_expression "puVar2[0x40c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x408] = uVar17;" (assignment_expression "puVar2[0x408] = uVar17" (subscript_expression "puVar2[0x408]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x409] = uVar16;" (assignment_expression "puVar2[0x409] = uVar16" (subscript_expression "puVar2[0x409]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40a] = uVar15;" (assignment_expression "puVar2[0x40a] = uVar15" (subscript_expression "puVar2[0x40a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40b] = uVar7;" (assignment_expression "puVar2[0x40b] = uVar7" (subscript_expression "puVar2[0x40b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40d] = iVar19;" (assignment_expression "puVar2[0x40d] = iVar19" (subscript_expression "puVar2[0x40d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar24)(iVar19 + 1,4);" (assignment_expression "iVar19 = (*pcVar24)(iVar19 + 1,4)" identifier = (call_expression "(*pcVar24)(iVar19 + 1,4)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar19 + 1,4)" ( (binary_expression "iVar19 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "puVar2[0x40e] = iVar19;" (assignment_expression "puVar2[0x40e] = iVar19" (subscript_expression "puVar2[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" { (if_statement "if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar11 + 0x1034))" ( (binary_expression "-1 < *(int *)(iVar11 + 0x1034)" number_literal < (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" { (expression_statement "iVar12 = iVar23 * 4;" (assignment_expression "iVar12 = iVar23 * 4" identifier = (binary_expression "iVar23 * 4" identifier * number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb35c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb35c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb35c)" * (cast_expression "(code **)(pcVar25 + 0xeb35c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb35c)" ( (binary_expression "pcVar25 + 0xeb35c" identifier + number_literal) ))))) )) (argument_list "(0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" ( number_literal , (pointer_expression "*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" * (cast_expression "(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0x1038) + iVar12)" ( (binary_expression "*(int *)(iVar11 + 0x1038) + iVar12" (pointer_expression "*(int *)(iVar11 + 0x1038)" * (cast_expression "(int *)(iVar11 + 0x1038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1038)" ( (binary_expression "iVar11 + 0x1038" identifier + number_literal) )))) + identifier) )))) )))) ;) (expression_statement "iVar4 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar4 = *(int *)(iVar11 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar19 + iVar12) = uVar1;" (assignment_expression "*(undefined4 *)(iVar19 + iVar12) = uVar1" (pointer_expression "*(undefined4 *)(iVar19 + iVar12)" * (cast_expression "(undefined4 *)(iVar19 + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar12)" ( (binary_expression "iVar19 + iVar12" identifier + identifier) )))) = identifier) ;) (if_statement "if (iVar4 < iVar23) break;" if (parenthesized_expression "(iVar4 < iVar23)" ( (binary_expression "iVar4 < iVar23" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = puVar2[0x40e];" (assignment_expression "iVar19 = puVar2[0x40e]" identifier = (subscript_expression "puVar2[0x40e]" identifier [ number_literal ])) ;) })) })) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1040);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1040)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1040)" * (cast_expression "(undefined4 *)(iVar11 + 0x1040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1040)" ( (binary_expression "iVar11 + 0x1040" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001044 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001044 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001044 + iVar11)" ( (binary_expression "&DAT_00001044 + iVar11" (pointer_expression "&DAT_00001044" & identifier) + identifier) ))))) ;) (expression_statement "uVar1 = *(undefined4 *)(iVar11 + 0x1048);" (assignment_expression "uVar1 = *(undefined4 *)(iVar11 + 0x1048)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1048)" * (cast_expression "(undefined4 *)(iVar11 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1048)" ( (binary_expression "iVar11 + 0x1048" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(&DAT_00001004 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001004 + iVar11)" identifier = (pointer_expression "*(int *)(&DAT_00001004 + iVar11)" * (cast_expression "(int *)(&DAT_00001004 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar11)" ( (binary_expression "&DAT_00001004 + iVar11" (pointer_expression "&DAT_00001004" & identifier) + identifier) ))))) ;) (expression_statement "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);" (assignment_expression "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c)" (subscript_expression "puVar2[0x40f]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar11 + 0x103c)" * (cast_expression "(undefined4 *)(iVar11 + 0x103c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x103c)" ( (binary_expression "iVar11 + 0x103c" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x410] = uVar15;" (assignment_expression "puVar2[0x410] = uVar15" (subscript_expression "puVar2[0x410]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x411] = uVar7;" (assignment_expression "puVar2[0x411] = uVar7" (subscript_expression "puVar2[0x411]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x412] = uVar1;" (assignment_expression "puVar2[0x412] = uVar1" (subscript_expression "puVar2[0x412]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x401] = iVar19;" (assignment_expression "puVar2[0x401] = iVar19" (subscript_expression "puVar2[0x401]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" { (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb70c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb70c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb70c)" * (cast_expression "(code **)(pcVar25 + 0xeb70c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb70c)" ( (binary_expression "pcVar25 + 0xeb70c" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "puVar2[0x401] = uVar1;" (assignment_expression "puVar2[0x401] = uVar1" (subscript_expression "puVar2[0x401]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb6c0);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb6c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb6c0)" * (cast_expression "(code **)(pcVar25 + 0xeb6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb6c0)" ( (binary_expression "pcVar25 + 0xeb6c0" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x413] = 1;" (assignment_expression "puVar2[0x413] = 1" (subscript_expression "puVar2[0x413]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = (*pcVar24)();" (assignment_expression "iVar11 = (*pcVar24)()" identifier = (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar2[0x414] = iVar11;" (assignment_expression "puVar2[0x414] = iVar11" (subscript_expression "puVar2[0x414]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" { (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb340)" * (pointer_expression "*(code **)(pcVar25 + 0xeb340)" * (cast_expression "(code **)(pcVar25 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb340)" ( (binary_expression "pcVar25 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2[0x415] = 0xabacadab;" (assignment_expression "puVar2[0x415] = 0xabacadab" (subscript_expression "puVar2[0x415]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb814)" * (pointer_expression "*(code **)(pcVar25 + 0xeb814)" * (cast_expression "(code **)(pcVar25 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb814)" ( (binary_expression "pcVar25 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb488)" * (pointer_expression "*(code **)(pcVar25 + 0xeb488)" * (cast_expression "(code **)(pcVar25 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb488)" ( (binary_expression "pcVar25 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (expression_statement "uVar7 = 0x207;" (assignment_expression "uVar7 = 0x207" identifier = number_literal) ;) (do_statement "do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );" do (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);" (call_expression "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb174))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb174)" * (pointer_expression "*(code **)(pcVar25 + 0xeb174)" * (cast_expression "(code **)(pcVar25 + 0xeb174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb174)" ( (binary_expression "pcVar25 + 0xeb174" identifier + number_literal) ))))) )) (argument_list "(uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb3d8))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb3d8))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb3d8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb3d8)" * (pointer_expression "*(code **)(pcVar25 + 0xeb3d8)" * (cast_expression "(code **)(pcVar25 + 0xeb3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb3d8)" ( (binary_expression "pcVar25 + 0xeb3d8" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb00c))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb00c))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb00c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb00c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb00c)" * (cast_expression "(code **)(pcVar25 + 0xeb00c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb00c)" ( (binary_expression "pcVar25 + 0xeb00c" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb688))();" (call_expression "(**(code **)(pcVar25 + 0xeb688))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb688))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb688)" * (pointer_expression "*(code **)(pcVar25 + 0xeb688)" * (cast_expression "(code **)(pcVar25 + 0xeb688)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb688)" ( (binary_expression "pcVar25 + 0xeb688" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb61c))(1);" (call_expression "(**(code **)(pcVar25 + 0xeb61c))(1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb61c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb61c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb61c)" * (cast_expression "(code **)(pcVar25 + 0xeb61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb61c)" ( (binary_expression "pcVar25 + 0xeb61c" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();" statement_identifier : (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb814)" * (pointer_expression "*(code **)(pcVar25 + 0xeb814)" * (cast_expression "(code **)(pcVar25 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb814)" ( (binary_expression "pcVar25 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb488)" * (pointer_expression "*(code **)(pcVar25 + 0xeb488)" * (cast_expression "(code **)(pcVar25 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb488)" ( (binary_expression "pcVar25 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (expression_statement "uVar7 = 500;" (assignment_expression "uVar7 = 500" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);" (call_expression "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb5d8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb5d8)" * (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" * (cast_expression "(code **)(pcVar25 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5d8)" ( (binary_expression "pcVar25 + 0xeb5d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" ( (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5d8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5d8)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" * (cast_expression "(code **)(pcVar25 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5d8)" ( (binary_expression "pcVar25 + 0xeb5d8" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xeaef4) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;" (call_expression "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);" (call_expression "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeaf28))" ( (pointer_expression "**(code **)(pcVar24 + 0xeaf28)" * (pointer_expression "*(code **)(pcVar24 + 0xeaf28)" * (cast_expression "(code **)(pcVar24 + 0xeaf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeaf28)" ( (binary_expression "pcVar24 + 0xeaf28" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" ( number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a04" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" identifier = (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" ( (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" * (cast_expression "(code **)(pcVar24 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadd8)" ( (binary_expression "pcVar24 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" identifier = (cast_expression "(undefined4 *)puVar8[0x40e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" * (cast_expression "(code **)(pcVar24 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadd8)" ( (binary_expression "pcVar24 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" identifier = (subscript_expression "puVar8[0x40e]" identifier [ number_literal ])) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeadbc);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeadbc)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" * (cast_expression "(code **)(pcVar24 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadbc)" ( (binary_expression "pcVar24 + 0xeadbc" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" identifier = (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" if (parenthesized_expression "(puVar8[0x407] != 0)" ( (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeae34))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar24 + 0xeae34)" * (pointer_expression "*(code **)(pcVar24 + 0xeae34)" * (cast_expression "(code **)(pcVar24 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeae34)" ( (binary_expression "pcVar24 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" identifier = (call_expression "(**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar24 + 0xeae34)" * (pointer_expression "*(code **)(pcVar24 + 0xeae34)" * (cast_expression "(code **)(pcVar24 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeae34)" ( (binary_expression "pcVar24 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x403])" ( (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }" if (parenthesized_expression "((puVar8[0x413] != 0) && (puVar8[0x401] != 0))" ( (binary_expression "(puVar8[0x413] != 0) && (puVar8[0x401] != 0)" (parenthesized_expression "(puVar8[0x413] != 0)" ( (binary_expression "puVar8[0x413] != 0" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(puVar8[0x401] != 0)" ( (binary_expression "puVar8[0x401] != 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xead84))();\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xead84))();" (call_expression "(**(code **)(pcVar24 + 0xead84))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xead84))" ( (pointer_expression "**(code **)(pcVar24 + 0xead84)" * (pointer_expression "*(code **)(pcVar24 + 0xead84)" * (cast_expression "(code **)(pcVar24 + 0xead84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xead84)" ( (binary_expression "pcVar24 + 0xead84" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeabf4);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeabf4)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeabf4)" * (cast_expression "(code **)(pcVar24 + 0xeabf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeabf4)" ( (binary_expression "pcVar24 + 0xeabf4" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (*pcVar25)(puVar8[0x402]);" (assignment_expression "uVar1 = (*pcVar25)(puVar8[0x402])" identifier = (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x402] = uVar1;" (assignment_expression "puVar8[0x402] = uVar1" (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb000);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb000)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb000)" * (cast_expression "(code **)(pcVar24 + 0xeb000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb000)" ( (binary_expression "pcVar24 + 0xeb000" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x415] = 0x54535254;" (assignment_expression "puVar8[0x415] = 0x54535254" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar25)(*puVar8);" (call_expression "(*pcVar25)(*puVar8)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))) ;) comment comment (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0xeadbc))(puVar8)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadbc))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadbc)" * (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" * (cast_expression "(code **)(pcVar24 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadbc)" ( (binary_expression "pcVar24 + 0xeadbc" identifier + number_literal) ))))) )) (argument_list "(puVar8)" ( identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb1c0))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb1c0)" * (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" * (cast_expression "(code **)(pcVar24 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb1c0)" ( (binary_expression "pcVar24 + 0xeb1c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" ( (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb1c0);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb1c0)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" * (cast_expression "(code **)(pcVar24 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb1c0)" ( (binary_expression "pcVar24 + 0xeb1c0" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0xeaadc) + -0x970)" ( (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954" identifier = (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }" { (labeled_statement "LAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" statement_identifier : (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00064848;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);" (call_expression "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead5c))" ( (pointer_expression "**(code **)(pcVar25 + 0xead5c)" * (pointer_expression "*(code **)(pcVar25 + 0xead5c)" * (cast_expression "(code **)(pcVar25 + 0xead5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead5c)" ( (binary_expression "pcVar25 + 0xead5c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19ec" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" { (expression_statement "FUN_00062640(iVar11,puVar8);" (call_expression "FUN_00062640(iVar11,puVar8)" identifier (argument_list "(iVar11,puVar8)" ( identifier , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" identifier = (cast_expression "(undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x7dc" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (pointer_expression "*puVar8" * identifier) , (subscript_expression "puVar8[1]" identifier [ number_literal ]) ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0x26b;" (assignment_expression "uVar1 = 0x26b" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xeaff4);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xeaff4)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8" identifier = (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea910) + -0x804)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x804" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar24 = pcVar26 + 0xf2770;" (assignment_expression "pcVar24 = pcVar26 + 0xf2770" identifier = (binary_expression "pcVar26 + 0xf2770" identifier + number_literal)) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" * (cast_expression "(code **)(pcVar26 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea8d8)" ( (binary_expression "pcVar26 + 0xea8d8" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);" (call_expression "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabf8))" ( (pointer_expression "**(code **)(pcVar26 + 0xeabf8)" * (pointer_expression "*(code **)(pcVar26 + 0xeabf8)" * (cast_expression "(code **)(pcVar26 + 0xeabf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabf8)" ( (binary_expression "pcVar26 + 0xeabf8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x199c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" * (cast_expression "(code **)(pcVar26 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea8d8)" ( (binary_expression "pcVar26 + 0xea8d8" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(0x2f,uStack_11f0);" (call_expression "(*pcVar24)(0x2f,uStack_11f0)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0x2f,uStack_11f0)" ( number_literal , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x7b0" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);" (call_expression "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeae90))" ( (pointer_expression "**(code **)(pcVar26 + 0xeae90)" * (pointer_expression "*(code **)(pcVar26 + 0xeae90)" * (cast_expression "(code **)(pcVar26 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeae90)" ( (binary_expression "pcVar26 + 0xeae90" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" ( (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x299;" (assignment_expression "uVar1 = 0x299" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xeae90);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xeae90)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xeae90)" * (cast_expression "(code **)(pcVar26 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeae90)" ( (binary_expression "pcVar26 + 0xeae90" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8" identifier = (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea7ac) + -0x954)" ( (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);" (call_expression "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaac8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaac8)" * (pointer_expression "*(code **)(pcVar25 + 0xeaac8)" * (cast_expression "(code **)(pcVar25 + 0xeaac8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaac8)" ( (binary_expression "pcVar25 + 0xeaac8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x197c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" if (parenthesized_expression "(pcVar24 != (code *)0x0)" ( (binary_expression "pcVar24 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" { (expression_statement "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);" (assignment_expression "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" identifier = (call_expression "(**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaf14))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaf14)" * (pointer_expression "*(code **)(pcVar25 + 0xeaf14)" * (cast_expression "(code **)(pcVar25 + 0xeaf14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaf14)" ( (binary_expression "pcVar25 + 0xeaf14" identifier + number_literal) ))))) )) (argument_list "(pcVar24,0x27)" ( identifier , number_literal )))) ;) (if_statement "if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" { (expression_statement "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);" (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x770" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) comment comment (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xea9d4))(iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea9d4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea9d4)" * (pointer_expression "*(code **)(pcVar25 + 0xea9d4)" * (cast_expression "(code **)(pcVar25 + 0xea9d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea9d4)" ( (binary_expression "pcVar25 + 0xea9d4" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" ( (pointer_expression "**(code **)(pcVar25 + 0xead60)" * (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x798" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" ( (pointer_expression "**(code **)(pcVar25 + 0xead60)" * (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x2c4;" (assignment_expression "uVar1 = 0x2c4" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xead60);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xead60)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c" identifier = (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea67c) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);" (call_expression "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea93c))" ( (pointer_expression "**(code **)(pcVar26 + 0xea93c)" * (pointer_expression "*(code **)(pcVar26 + 0xea93c)" * (cast_expression "(code **)(pcVar26 + 0xea93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea93c)" ( (binary_expression "pcVar26 + 0xea93c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x196c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x758" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);" (call_expression "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabd4))" ( (pointer_expression "**(code **)(pcVar26 + 0xeabd4)" * (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" * (cast_expression "(code **)(pcVar26 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabd4)" ( (binary_expression "pcVar26 + 0xeabd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x1974" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = (code *)0x2f8;" (assignment_expression "pcVar25 = (code *)0x2f8" identifier = (cast_expression "(code *)0x2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = *(code **)(pcVar26 + 0xeabd4);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0xeabd4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" * (cast_expression "(code **)(pcVar26 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabd4)" ( (binary_expression "pcVar26 + 0xeabd4" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);" (assignment_expression "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" identifier = (cast_expression "(undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x970)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x954)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }" { (labeled_statement "LAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" { (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) (if_statement "if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" if (parenthesized_expression "(puVar8[0x415] != -0x54535255)" ( (binary_expression "puVar8[0x415] != -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" { (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x419c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00064d78;" goto statement_identifier ;) })) (if_statement "if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" { (expression_statement "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);" (call_expression "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" (parenthesized_expression "(**(code **)(pcVar27 + 0xea7f4))" ( (pointer_expression "**(code **)(pcVar27 + 0xea7f4)" * (pointer_expression "*(code **)(pcVar27 + 0xea7f4)" * (cast_expression "(code **)(pcVar27 + 0xea7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xea7f4)" ( (binary_expression "pcVar27 + 0xea7f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" ( number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pcVar24 = pcVar25;" (assignment_expression "pcVar24 = pcVar25" identifier = identifier) ;) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" identifier = identifier) ;) (if_statement "if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" if (parenthesized_expression "(pcVar25 != (code *)0x0)" ( (binary_expression "pcVar25 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" { (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" identifier = (cast_expression "(undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" identifier (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x704" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0x322;" (assignment_expression "uVar1 = 0x322" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar27 + 0xeaa8c);" (assignment_expression "pcVar25 = *(code **)(pcVar27 + 0xeaa8c)" identifier = (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;" (assignment_expression "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960" identifier = (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x72c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);" (call_expression "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" * (cast_expression "(code **)(pcVar25 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c8)" ( (binary_expression "pcVar25 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1928" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x6fc" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);" (call_expression "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea960))" ( (pointer_expression "**(code **)(pcVar25 + 0xea960)" * (pointer_expression "*(code **)(pcVar25 + 0xea960)" * (cast_expression "(code **)(pcVar25 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea960)" ( (binary_expression "pcVar25 + 0xea960" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" ( (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea960);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea960)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xea960)" * (cast_expression "(code **)(pcVar25 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea960)" ( (binary_expression "pcVar25 + 0xea960" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea27c) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" * (cast_expression "(code **)(pcVar26 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea4ec)" ( (binary_expression "pcVar26 + 0xea4ec" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);" (call_expression "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea5a0))" ( (pointer_expression "**(code **)(pcVar26 + 0xea5a0)" * (pointer_expression "*(code **)(pcVar26 + 0xea5a0)" * (cast_expression "(code **)(pcVar26 + 0xea5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea5a0)" ( (binary_expression "pcVar26 + 0xea5a0" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1900" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" * (cast_expression "(code **)(pcVar26 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea4ec)" ( (binary_expression "pcVar26 + 0xea4ec" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(puVar8[0x402]);" (call_expression "(*pcVar24)(puVar8[0x402])" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) ))) ;) (return_statement "return (undefined4 *)0x1;" return (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);" (call_expression "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea838))" ( (pointer_expression "**(code **)(pcVar26 + 0xea838)" * (pointer_expression "*(code **)(pcVar26 + 0xea838)" * (cast_expression "(code **)(pcVar26 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea838)" ( (binary_expression "pcVar26 + 0xea838" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" ( (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea838);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea838)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea838)" * (cast_expression "(code **)(pcVar26 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea838)" ( (binary_expression "pcVar26 + 0xea838" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954" identifier = (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }" { (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8" identifier = (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x18e8" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);" (call_expression "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea758))" ( (pointer_expression "**(code **)(pcVar25 + 0xea758)" * (pointer_expression "*(code **)(pcVar25 + 0xea758)" * (cast_expression "(code **)(pcVar25 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea758)" ( (binary_expression "pcVar25 + 0xea758" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" ( (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" else (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" { (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074);" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" { (if_statement "if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" if (parenthesized_expression "(*(int *)(&DAT_00001008 + iVar11) != 0)" ( (binary_expression "*(int *)(&DAT_00001008 + iVar11) != 0" (pointer_expression "*(int *)(&DAT_00001008 + iVar11)" * (cast_expression "(int *)(&DAT_00001008 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" { comment comment (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea928))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xea928))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea928))" ( (pointer_expression "**(code **)(pcVar25 + 0xea928)" * (pointer_expression "*(code **)(pcVar25 + 0xea928)" * (cast_expression "(code **)(pcVar25 + 0xea928)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea928)" ( (binary_expression "pcVar25 + 0xea928" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "uVar1 = 0x388;" (assignment_expression "uVar1 = 0x388" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea758);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea758)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xea758)" * (cast_expression "(code **)(pcVar25 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea758)" ( (binary_expression "pcVar25 + 0xea758" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iVar19 + 0x18e8;" (assignment_expression "iVar19 = iVar19 + 0x18e8" identifier = (binary_expression "iVar19 + 0x18e8" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea074) + 0x419c)" ( (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "puStack_1418 = puVar2;" (assignment_expression "puStack_1418 = puVar2" identifier = identifier) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea108)" * (cast_expression "(code **)(pcVar26 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea108)" ( (binary_expression "pcVar26 + 0xea108" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);" (call_expression "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea428))" ( (pointer_expression "**(code **)(pcVar26 + 0xea428)" * (pointer_expression "*(code **)(pcVar26 + 0xea428)" * (cast_expression "(code **)(pcVar26 + 0xea428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea428)" ( (binary_expression "pcVar26 + 0xea428" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18d0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea108)" * (cast_expression "(code **)(pcVar26 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea108)" ( (binary_expression "pcVar26 + 0xea108" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(0x2f,uStack_1390);" (call_expression "(*pcVar24)(0x2f,uStack_1390)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0x2f,uStack_1390)" ( number_literal , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6c0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);" (call_expression "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea6c0))" ( (pointer_expression "**(code **)(pcVar26 + 0xea6c0)" * (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" * (cast_expression "(code **)(pcVar26 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea6c0)" ( (binary_expression "pcVar26 + 0xea6c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" ( (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puStack_1418 = puVar8;" (assignment_expression "puStack_1418 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea6c0);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea6c0)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" * (cast_expression "(code **)(pcVar26 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea6c0)" ( (binary_expression "pcVar26 + 0xea6c0" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;" (assignment_expression "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970" identifier = (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc" identifier = (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,iVar19);" (call_expression "(*pcVar25)(iVar11,iVar19)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) (expression_statement "piVar21 = *(int **)(pcVar25 + 0xea33c);" (assignment_expression "piVar21 = *(int **)(pcVar25 + 0xea33c)" identifier = (pointer_expression "*(int **)(pcVar25 + 0xea33c)" * (cast_expression "(int **)(pcVar25 + 0xea33c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea33c)" ( (binary_expression "pcVar25 + 0xea33c" identifier + number_literal) ))))) ;) (expression_statement "iStack_141c = *piVar21;" (assignment_expression "iStack_141c = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "puStack_1410 = puVar20;" (assignment_expression "puStack_1410 = puVar20" identifier = identifier) ;) (expression_statement "piStack_140c = piVar22;" (assignment_expression "piStack_140c = piVar22" identifier = identifier) ;) (expression_statement "puStack_1408 = puVar6;" (assignment_expression "puStack_1408 = puVar6" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_0006557c;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006557c;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2f8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea2f8)" * (pointer_expression "*(code **)(pcVar25 + 0xea2f8)" * (cast_expression "(code **)(pcVar25 + 0xea2f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea2f8)" ( (binary_expression "pcVar25 + 0xea2f8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9ea0) + -0x131c" (pointer_expression "*(int *)(pcVar25 + 0xe9ea0)" * (cast_expression "(int *)(pcVar25 + 0xe9ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9ea0)" ( (binary_expression "pcVar25 + 0xe9ea0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar11 + 4" identifier + number_literal) ))) ;) })) (if_statement "if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" if (parenthesized_expression "(pcVar24 != (code *)0x0)" ( (binary_expression "pcVar24 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" { (expression_statement "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);" (assignment_expression "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea19c))(pcVar24)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea19c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea19c)" * (pointer_expression "*(code **)(pcVar25 + 0xea19c)" * (cast_expression "(code **)(pcVar25 + 0xea19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea19c)" ( (binary_expression "pcVar25 + 0xea19c" identifier + number_literal) ))))) )) (argument_list "(pcVar24)" ( identifier )))) ;) (if_statement "if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" if (parenthesized_expression "((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0))" ( (binary_expression "(iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" identifier = (call_expression "(**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c4)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c4)" * (cast_expression "(code **)(pcVar25 + 0xea6c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c4)" ( (binary_expression "pcVar25 + 0xea6c4" identifier + number_literal) ))))) )) (argument_list "(iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" ( identifier , number_literal , number_literal , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }" { (labeled_statement "LAB_000654a8:\n        puVar2 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" else (compound_statement "{\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" { (expression_statement "iVar12 = (**(code **)(pcVar25 + 0xea2e4))();" (assignment_expression "iVar12 = (**(code **)(pcVar25 + 0xea2e4))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xea2e4))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2e4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea2e4)" * (pointer_expression "*(code **)(pcVar25 + 0xea2e4)" * (cast_expression "(code **)(pcVar25 + 0xea2e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea2e4)" ( (binary_expression "pcVar25 + 0xea2e4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;" (call_expression "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" * (cast_expression "(code **)(pcVar25 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c8)" ( (binary_expression "pcVar25 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" ( (binary_expression "iVar12 + 0x210" identifier + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x684" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uStack_2424 = 0x800;" (assignment_expression "uStack_2424 = 0x800" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));" (assignment_expression "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" identifier = (call_expression "(**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea4bc))" ( (pointer_expression "**(code **)(pcVar25 + 0xea4bc)" * (pointer_expression "*(code **)(pcVar25 + 0xea4bc)" * (cast_expression "(code **)(pcVar25 + 0xea4bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea4bc)" ( (binary_expression "pcVar25 + 0xea4bc" identifier + number_literal) ))))) )) (argument_list "(iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" ( identifier , identifier , (pointer_expression "&uStack_2424" & identifier) , (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea574))(iVar12);" (call_expression "(**(code **)(pcVar25 + 0xea574))(iVar12)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea574))" ( (pointer_expression "**(code **)(pcVar25 + 0xea574)" * (pointer_expression "*(code **)(pcVar25 + 0xea574)" * (cast_expression "(code **)(pcVar25 + 0xea574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea574)" ( (binary_expression "pcVar25 + 0xea574" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea500))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea500))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea500))" ( (pointer_expression "**(code **)(pcVar25 + 0xea500)" * (pointer_expression "*(code **)(pcVar25 + 0xea500)" * (cast_expression "(code **)(pcVar25 + 0xea500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea500)" ( (binary_expression "pcVar25 + 0xea500" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) goto LAB_000654a8;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000654a8;" goto statement_identifier ;)) (expression_statement "iStack_2420 = 0;" (assignment_expression "iStack_2420 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea030))" ( (pointer_expression "**(code **)(pcVar25 + 0xea030)" * (pointer_expression "*(code **)(pcVar25 + 0xea030)" * (cast_expression "(code **)(pcVar25 + 0xea030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea030)" ( (binary_expression "pcVar25 + 0xea030" identifier + number_literal) ))))) )) (argument_list "(iVar3,uStack_2424,&iStack_2420)" ( identifier , identifier , (pointer_expression "&iStack_2420" & identifier) )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea18c))(iVar3);" (call_expression "(**(code **)(pcVar25 + 0xea18c))(iVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea18c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea18c)" * (pointer_expression "*(code **)(pcVar25 + 0xea18c)" * (cast_expression "(code **)(pcVar25 + 0xea18c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea18c)" ( (binary_expression "pcVar25 + 0xea18c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;" (call_expression "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9ff0))" ( (pointer_expression "**(code **)(pcVar25 + 0xe9ff0)" * (pointer_expression "*(code **)(pcVar25 + 0xe9ff0)" * (cast_expression "(code **)(pcVar25 + 0xe9ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xe9ff0)" ( (binary_expression "pcVar25 + 0xe9ff0" identifier + number_literal) ))))) )) (argument_list "(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x67c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea12c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea12c)" * (pointer_expression "*(code **)(pcVar25 + 0xea12c)" * (cast_expression "(code **)(pcVar25 + 0xea12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea12c)" ( (binary_expression "pcVar25 + 0xea12c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cfc" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" * (cast_expression "(int *)(pcVar25 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9e9c)" ( (binary_expression "pcVar25 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" * (cast_expression "(int *)(pcVar25 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9e9c)" ( (binary_expression "pcVar25 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar11 + 4" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000654a8;" goto statement_identifier ;) })) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" identifier = (call_expression "(**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9fd8))" ( (pointer_expression "**(code **)(pcVar25 + 0xe9fd8)" * (pointer_expression "*(code **)(pcVar25 + 0xe9fd8)" * (cast_expression "(code **)(pcVar25 + 0xe9fd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xe9fd8)" ( (binary_expression "pcVar25 + 0xe9fd8" identifier + number_literal) ))))) )) (argument_list "(0xd,iVar19)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);" (assignment_expression "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea508))" ( (pointer_expression "**(code **)(pcVar25 + 0xea508)" * (pointer_expression "*(code **)(pcVar25 + 0xea508)" * (cast_expression "(code **)(pcVar25 + 0xea508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea508)" ( (binary_expression "pcVar25 + 0xea508" identifier + number_literal) ))))) )) (argument_list "(iVar23 + 0x2340)" ( (binary_expression "iVar23 + 0x2340" identifier + number_literal) )))) ;) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x670" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" if (parenthesized_expression "(0 < iStack_2420)" ( (binary_expression "0 < iStack_2420" number_literal < identifier) )) (compound_statement "{\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" { (expression_statement "iVar12 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar12 = *(int *)(pcVar25 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar3 = *(int *)(pcVar25 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iStack_2420;" (assignment_expression "iVar19 = iStack_2420" identifier = identifier) ;) (expression_statement "iVar23 = iVar4;" (assignment_expression "iVar23 = iVar4" identifier = identifier) ;) (do_statement "do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);" do (compound_statement "{\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          }" { (expression_statement "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);" (call_expression "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23)" identifier (argument_list "(iVar11,iVar12 + -0x63c,iVar23)" ( identifier , (binary_expression "iVar12 + -0x63c" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar23 = iVar23 + 0x4c;" (assignment_expression "iVar23 = iVar23 + 0x4c" identifier = (binary_expression "iVar23 + 0x4c" identifier + number_literal)) ;) (if_statement "if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" if (parenthesized_expression "(0x4c < iVar19)" ( (binary_expression "0x4c < iVar19" number_literal < identifier) )) (compound_statement "{\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" { (expression_statement "FUN_00062838(iVar11,iVar3 + 0x4030);" (call_expression "FUN_00062838(iVar11,iVar3 + 0x4030)" identifier (argument_list "(iVar11,iVar3 + 0x4030)" ( identifier , (binary_expression "iVar3 + 0x4030" identifier + number_literal) ))) ;) })) (expression_statement "iVar19 = iVar19 + -0x4c;" (assignment_expression "iVar19 = iVar19 + -0x4c" identifier = (binary_expression "iVar19 + -0x4c" identifier + number_literal)) ;) }) while (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) ;) })) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x224" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea204))(uVar7);" (call_expression "(**(code **)(pcVar25 + 0xea204))(uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" ( (pointer_expression "**(code **)(pcVar25 + 0xea204)" * (pointer_expression "*(code **)(pcVar25 + 0xea204)" * (cast_expression "(code **)(pcVar25 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea204)" ( (binary_expression "pcVar25 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea204))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea204))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" ( (pointer_expression "**(code **)(pcVar25 + 0xea204)" * (pointer_expression "*(code **)(pcVar25 + 0xea204)" * (cast_expression "(code **)(pcVar25 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea204)" ( (binary_expression "pcVar25 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)0x1;" (assignment_expression "puVar2 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_141c == *piVar21) {\n        return puVar2;\n      }" if (parenthesized_expression "(iStack_141c == *piVar21)" ( (binary_expression "iStack_141c == *piVar21" identifier == (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n        return puVar2;\n      }" { (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea1fc))();" (call_expression "(**(code **)(pcVar25 + 0xea1fc))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea1fc))" ( (pointer_expression "**(code **)(pcVar25 + 0xea1fc)" * (pointer_expression "*(code **)(pcVar25 + 0xea1fc)" * (cast_expression "(code **)(pcVar25 + 0xea1fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea1fc)" ( (binary_expression "pcVar25 + 0xea1fc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x6a8" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" statement_identifier : (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar2 = (undefined4 *)FUN_00062838();" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838()" identifier = (cast_expression "(undefined4 *)FUN_00062838()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838()" identifier (argument_list "()" ( ))))) ;) (return_statement "return puVar2;" 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/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nvoid DrawPathLineToVertical(DrawingWand *wand,PathMode mode,double y)\n\n{\n  undefined4 uVar1;\n  size_t sVar2;\n  DrawInfo *pDVar3;\n  Image *pIVar4;\n  MagickBooleanType MVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  int iVar8;\n  int iVar9;\n  DrawingWand *pDVar10;\n  DrawingWand *wand_00;\n  DrawingWand *pDVar11;\n  char *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  ExceptionInfo *pEVar15;\n  undefined4 uVar16;\n  int iVar17;\n  DrawingWand *affine;\n  undefined1 *number_coordinates;\n  undefined4 in_a2;\n  PointInfo *coordinates;\n  undefined4 in_a3;\n  undefined *puVar18;\n  undefined4 uVar19;\n  undefined4 uVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  DrawingWand *unaff_s0;\n  DrawInfo **ppDVar23;\n  DrawInfo **ppDVar24;\n  undefined1 *puVar25;\n  int *piVar26;\n  int *piVar27;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  PointInfo *pPVar32;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  DrawingWand *pDStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  DrawingWand *pDStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  int iStack_9c;\n  DrawingWand *pDStack_98;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c);\n  puVar29 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (pDVar10 == (DrawingWand *)0x0) {\n    (**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }\n  pcVar30 = *(code **)(puVar29 + 0xebb8c);\n  pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970);\n  wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c);\n  (*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  piVar27 = *(int **)(pcVar30 + 0xeb7ac);\n  iStack_9c = *piVar27;\n  pcVar31 = *(code **)(pcVar30 + 0xeb804);\n  pDVar11 = wand_00;\n  pDStack_98 = unaff_s0;\n  if ((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0)) {\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));\n  }\n  else {\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }\n  puVar25 = auStack_10f8;\n  if (iStack_9c == *piVar27) {\n    return;\n  }\n  pcVar30 = *(code **)(pcVar30 + 0xeb66c);\n  (*pcVar30)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb894);\n  iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954;\n  (*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar14 != 0) {\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xeb5d8);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb1c0);\n  affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954);\n  (*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n  if (pDVar11 == (DrawingWand *)0x0) {\nLAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar30 = *(code **)(pcVar31 + 0xeaff4);\n  iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970);\n  pPVar32 = (PointInfo *)(pcVar30 + 0xf2770);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x299;\n  pcVar31 = *(code **)(pcVar30 + 0xeae90);\n  iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x2c4;\n  pcVar30 = *(code **)(pcVar31 + 0xead60);\n  iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);\n    pDVar10 = pDVar11;\n  }\n  coordinates = (PointInfo *)0x2f8;\n  pcVar31 = *(code **)(pcVar30 + 0xeabd4);\n  number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954);\n  (*pcVar31)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    pDVar10 = pDVar11;\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }\n    (**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);\n  }\n  (**(code **)(pcVar31 + 0xeaa8c))\n            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960);\nLAB_00064d9c:\n  uVar1 = 0x322;\n  pcVar30 = *(code **)(pcVar31 + 0xeaa8c);\n  iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea960);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);\n    pDVar10 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea838);\n  iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954;\n  (*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)\n  ;\n  if (iVar14 == 0) {\n    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );\n  }\n  else {\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar31 = *(code **)(pcVar30 + 0xea758);\n  iVar8 = iVar8 + 0x18e8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8);\n  pDStack_1418 = pDVar10;\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);\n    pDStack_1418 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea6c0);\n  iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc);\n  (*pcVar30)(pDVar10,iVar14);\n  piVar26 = *(int **)(pcVar30 + 0xea33c);\n  iStack_141c = *piVar26;\n  puStack_1410 = puVar25;\n  piStack_140c = piVar27;\n  pDStack_1408 = wand_00;\n  if (pDVar10 != (DrawingWand *)0x0) {\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }\n    (**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea590);\n  iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954);\n  (*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14);\n  return;\n}\n\n" comment comment comment comment comment comment (function_definition "void DrawPathLineToVertical(DrawingWand *wand,PathMode mode,double y)\n\n{\n  undefined4 uVar1;\n  size_t sVar2;\n  DrawInfo *pDVar3;\n  Image *pIVar4;\n  MagickBooleanType MVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  int iVar8;\n  int iVar9;\n  DrawingWand *pDVar10;\n  DrawingWand *wand_00;\n  DrawingWand *pDVar11;\n  char *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  ExceptionInfo *pEVar15;\n  undefined4 uVar16;\n  int iVar17;\n  DrawingWand *affine;\n  undefined1 *number_coordinates;\n  undefined4 in_a2;\n  PointInfo *coordinates;\n  undefined4 in_a3;\n  undefined *puVar18;\n  undefined4 uVar19;\n  undefined4 uVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  DrawingWand *unaff_s0;\n  DrawInfo **ppDVar23;\n  DrawInfo **ppDVar24;\n  undefined1 *puVar25;\n  int *piVar26;\n  int *piVar27;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  PointInfo *pPVar32;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  DrawingWand *pDStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  DrawingWand *pDStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  int iStack_9c;\n  DrawingWand *pDStack_98;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c);\n  puVar29 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (pDVar10 == (DrawingWand *)0x0) {\n    (**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }\n  pcVar30 = *(code **)(puVar29 + 0xebb8c);\n  pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970);\n  wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c);\n  (*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  piVar27 = *(int **)(pcVar30 + 0xeb7ac);\n  iStack_9c = *piVar27;\n  pcVar31 = *(code **)(pcVar30 + 0xeb804);\n  pDVar11 = wand_00;\n  pDStack_98 = unaff_s0;\n  if ((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0)) {\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));\n  }\n  else {\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }\n  puVar25 = auStack_10f8;\n  if (iStack_9c == *piVar27) {\n    return;\n  }\n  pcVar30 = *(code **)(pcVar30 + 0xeb66c);\n  (*pcVar30)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb894);\n  iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954;\n  (*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar14 != 0) {\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xeb5d8);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb1c0);\n  affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954);\n  (*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n  if (pDVar11 == (DrawingWand *)0x0) {\nLAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar30 = *(code **)(pcVar31 + 0xeaff4);\n  iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970);\n  pPVar32 = (PointInfo *)(pcVar30 + 0xf2770);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x299;\n  pcVar31 = *(code **)(pcVar30 + 0xeae90);\n  iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x2c4;\n  pcVar30 = *(code **)(pcVar31 + 0xead60);\n  iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);\n    pDVar10 = pDVar11;\n  }\n  coordinates = (PointInfo *)0x2f8;\n  pcVar31 = *(code **)(pcVar30 + 0xeabd4);\n  number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954);\n  (*pcVar31)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    pDVar10 = pDVar11;\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }\n    (**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);\n  }\n  (**(code **)(pcVar31 + 0xeaa8c))\n            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960);\nLAB_00064d9c:\n  uVar1 = 0x322;\n  pcVar30 = *(code **)(pcVar31 + 0xeaa8c);\n  iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea960);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);\n    pDVar10 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea838);\n  iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954;\n  (*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)\n  ;\n  if (iVar14 == 0) {\n    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );\n  }\n  else {\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar31 = *(code **)(pcVar30 + 0xea758);\n  iVar8 = iVar8 + 0x18e8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8);\n  pDStack_1418 = pDVar10;\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);\n    pDStack_1418 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea6c0);\n  iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc);\n  (*pcVar30)(pDVar10,iVar14);\n  piVar26 = *(int **)(pcVar30 + 0xea33c);\n  iStack_141c = *piVar26;\n  puStack_1410 = puVar25;\n  piStack_140c = piVar27;\n  pDStack_1408 = wand_00;\n  if (pDVar10 != (DrawingWand *)0x0) {\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }\n    (**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea590);\n  iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954);\n  (*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14);\n  return;\n}" primitive_type (function_declarator "DrawPathLineToVertical(DrawingWand *wand,PathMode mode,double y)" identifier (parameter_list "(DrawingWand *wand,PathMode mode,double y)" ( (parameter_declaration "DrawingWand *wand" type_identifier (pointer_declarator "*wand" * identifier)) , (parameter_declaration "PathMode mode" type_identifier identifier) , (parameter_declaration "double y" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  size_t sVar2;\n  DrawInfo *pDVar3;\n  Image *pIVar4;\n  MagickBooleanType MVar5;\n  undefined4 *puVar6;\n  size_t sVar7;\n  int iVar8;\n  int iVar9;\n  DrawingWand *pDVar10;\n  DrawingWand *wand_00;\n  DrawingWand *pDVar11;\n  char *pcVar12;\n  undefined *puVar13;\n  int iVar14;\n  ExceptionInfo *pEVar15;\n  undefined4 uVar16;\n  int iVar17;\n  DrawingWand *affine;\n  undefined1 *number_coordinates;\n  undefined4 in_a2;\n  PointInfo *coordinates;\n  undefined4 in_a3;\n  undefined *puVar18;\n  undefined4 uVar19;\n  undefined4 uVar20;\n  undefined4 uVar21;\n  undefined4 uVar22;\n  DrawingWand *unaff_s0;\n  DrawInfo **ppDVar23;\n  DrawInfo **ppDVar24;\n  undefined1 *puVar25;\n  int *piVar26;\n  int *piVar27;\n  int iVar28;\n  undefined *puVar29;\n  code *pcVar30;\n  code *pcVar31;\n  PointInfo *pPVar32;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  DrawingWand *pDStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  DrawingWand *pDStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  int iStack_9c;\n  DrawingWand *pDStack_98;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c);\n  puVar29 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (pDVar10 == (DrawingWand *)0x0) {\n    (**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }\n  pcVar30 = *(code **)(puVar29 + 0xebb8c);\n  pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970);\n  wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c);\n  (*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  piVar27 = *(int **)(pcVar30 + 0xeb7ac);\n  iStack_9c = *piVar27;\n  pcVar31 = *(code **)(pcVar30 + 0xeb804);\n  pDVar11 = wand_00;\n  pDStack_98 = unaff_s0;\n  if ((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0)) {\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));\n  }\n  else {\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }\n  puVar25 = auStack_10f8;\n  if (iStack_9c == *piVar27) {\n    return;\n  }\n  pcVar30 = *(code **)(pcVar30 + 0xeb66c);\n  (*pcVar30)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb894);\n  iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954;\n  (*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar14 != 0) {\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xeb5d8);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xeb1c0);\n  affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954);\n  (*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n  if (pDVar11 == (DrawingWand *)0x0) {\nLAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar30 = *(code **)(pcVar31 + 0xeaff4);\n  iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970);\n  pPVar32 = (PointInfo *)(pcVar30 + 0xf2770);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x299;\n  pcVar31 = *(code **)(pcVar30 + 0xeae90);\n  iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    pDVar10 = pDVar11;\n  }\n  uVar1 = 0x2c4;\n  pcVar30 = *(code **)(pcVar31 + 0xead60);\n  iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);\n    pDVar10 = pDVar11;\n  }\n  coordinates = (PointInfo *)0x2f8;\n  pcVar31 = *(code **)(pcVar30 + 0xeabd4);\n  number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954);\n  (*pcVar31)();\n  if (pDVar11 != (DrawingWand *)0x0) {\n    pDVar10 = pDVar11;\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }\n    (**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);\n  }\n  (**(code **)(pcVar31 + 0xeaa8c))\n            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960);\nLAB_00064d9c:\n  uVar1 = 0x322;\n  pcVar30 = *(code **)(pcVar31 + 0xeaa8c);\n  iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c);\n  (*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14);\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);\n    pDVar10 = pDVar11;\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea960);\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            );\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);\n    pDVar10 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea838);\n  iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954;\n  (*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)\n  ;\n  if (iVar14 == 0) {\n    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );\n  }\n  else {\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar31 = *(code **)(pcVar30 + 0xea758);\n  iVar8 = iVar8 + 0x18e8;\n  pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c);\n  (*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8);\n  pDStack_1418 = pDVar10;\n  if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);\n    pDStack_1418 = pDVar11;\n  }\n  pcVar30 = *(code **)(pcVar31 + 0xea6c0);\n  iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc);\n  (*pcVar30)(pDVar10,iVar14);\n  piVar26 = *(int **)(pcVar30 + 0xea33c);\n  iStack_141c = *piVar26;\n  puStack_1410 = puVar25;\n  piStack_140c = piVar27;\n  pDStack_1408 = wand_00;\n  if (pDVar10 != (DrawingWand *)0x0) {\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }\n    (**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  }\n  pcVar31 = *(code **)(pcVar30 + 0xea590);\n  iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970;\n  pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954);\n  (*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14);\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "DrawInfo *pDVar3;" type_identifier (pointer_declarator "*pDVar3" * identifier) ;) (declaration "Image *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "MagickBooleanType MVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "DrawingWand *pDVar10;" type_identifier (pointer_declarator "*pDVar10" * identifier) ;) (declaration "DrawingWand *wand_00;" type_identifier (pointer_declarator "*wand_00" * identifier) ;) (declaration "DrawingWand *pDVar11;" type_identifier (pointer_declarator "*pDVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "ExceptionInfo *pEVar15;" type_identifier (pointer_declarator "*pEVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "DrawingWand *affine;" type_identifier (pointer_declarator "*affine" * identifier) ;) (declaration "undefined1 *number_coordinates;" type_identifier (pointer_declarator "*number_coordinates" * identifier) ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "PointInfo *coordinates;" type_identifier (pointer_declarator "*coordinates" * identifier) ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "DrawingWand *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "DrawInfo **ppDVar23;" type_identifier (pointer_declarator "**ppDVar23" * (pointer_declarator "*ppDVar23" * identifier)) ;) (declaration "DrawInfo **ppDVar24;" type_identifier (pointer_declarator "**ppDVar24" * (pointer_declarator "*ppDVar24" * identifier)) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int *piVar27;" primitive_type (pointer_declarator "*piVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "undefined *puVar29;" type_identifier (pointer_declarator "*puVar29" * identifier) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "code *pcVar31;" type_identifier (pointer_declarator "*pcVar31" * identifier) ;) (declaration "PointInfo *pPVar32;" type_identifier (pointer_declarator "*pPVar32" * identifier) ;) (declaration "undefined4 uStack_2424;" type_identifier identifier ;) (declaration "int iStack_2420;" primitive_type identifier ;) (declaration "undefined1 auStack_241c [4096];" type_identifier (array_declarator "auStack_241c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_141c;" primitive_type identifier ;) (declaration "DrawingWand *pDStack_1418;" type_identifier (pointer_declarator "*pDStack_1418" * identifier) ;) (declaration "undefined1 *puStack_1410;" type_identifier (pointer_declarator "*puStack_1410" * identifier) ;) (declaration "int *piStack_140c;" primitive_type (pointer_declarator "*piStack_140c" * identifier) ;) (declaration "DrawingWand *pDStack_1408;" type_identifier (pointer_declarator "*pDStack_1408" * identifier) ;) (declaration "undefined4 uStack_1390;" type_identifier identifier ;) (declaration "undefined4 uStack_11f0;" type_identifier identifier ;) (declaration "undefined1 auStack_10f8 [4];" type_identifier (array_declarator "auStack_10f8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_10f4;" type_identifier identifier ;) (declaration "undefined4 uStack_10f0;" type_identifier identifier ;) (declaration "undefined8 uStack_10d0;" type_identifier identifier ;) (declaration "undefined8 uStack_10c8;" type_identifier identifier ;) (declaration "undefined8 uStack_10c0;" type_identifier identifier ;) (declaration "double dStack_10b0;" primitive_type identifier ;) (declaration "undefined1 auStack_109c [4096];" type_identifier (array_declarator "auStack_109c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_9c;" primitive_type identifier ;) (declaration "DrawingWand *pDStack_98;" type_identifier (pointer_declarator "*pDStack_98" * identifier) ;) (if_statement "if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }" if (parenthesized_expression "(wand == (DrawingWand *)0x0)" ( (binary_expression "wand == (DrawingWand *)0x0" identifier == (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" ( (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x954" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = wand;\n    if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }\n  }" { (expression_statement "unaff_s0 = wand;" (assignment_expression "unaff_s0 = wand" identifier = identifier) ;) (if_statement "if (wand->signature == 0xabacadab) {\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }" if (parenthesized_expression "(wand->signature == 0xabacadab)" ( (binary_expression "wand->signature == 0xabacadab" (field_expression "wand->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }\n      uVar1 = 0x76;\n      if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }\n      pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      wand->path_mode = mode;\n      wand->path_operation = PathLineToVerticalOperation;\n      MVGAutoWrapPrintf(wand,pcVar12,uVar1);\n      return;\n    }" { (if_statement "if (wand->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" if (parenthesized_expression "(wand->debug != MagickFalse)" ( (binary_expression "wand->debug != MagickFalse" (field_expression "wand->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" ( number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd48" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)) {\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }" if (parenthesized_expression "((wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode))" ( (binary_expression "(wand->path_operation == PathLineToVerticalOperation) && (wand->path_mode == mode)" (parenthesized_expression "(wand->path_operation == PathLineToVerticalOperation)" ( (binary_expression "wand->path_operation == PathLineToVerticalOperation" (field_expression "wand->path_operation" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "(wand->path_mode == mode)" ( (binary_expression "wand->path_mode == mode" (field_expression "wand->path_mode" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n        MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);\n        return;\n      }" { (expression_statement "MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3);" (call_expression "MVGAutoWrapPrintf(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3)" identifier (argument_list "(wand,PTR_s_t_char____NULL_0014f03c + -0x828,in_a2,in_a3)" ( identifier , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x828" identifier + number_literal) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = 0x76;" (assignment_expression "uVar1 = 0x76" identifier = number_literal) ;) (if_statement "if (mode == AbsolutePathMode) {\n        uVar1 = 0x56;\n      }" if (parenthesized_expression "(mode == AbsolutePathMode)" ( (binary_expression "mode == AbsolutePathMode" identifier == identifier) )) (compound_statement "{\n        uVar1 = 0x56;\n      }" { (expression_statement "uVar1 = 0x56;" (assignment_expression "uVar1 = 0x56" identifier = number_literal) ;) })) (expression_statement "pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830;" (assignment_expression "pcVar12 = PTR_s_t_char____NULL_0014f03c + -0x830" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x830" identifier + number_literal)) ;) (expression_statement "wand->path_mode = mode;" (assignment_expression "wand->path_mode = mode" (field_expression "wand->path_mode" identifier -> field_identifier) = identifier) ;) (expression_statement "wand->path_operation = PathLineToVerticalOperation;" (assignment_expression "wand->path_operation = PathLineToVerticalOperation" (field_expression "wand->path_operation" identifier -> field_identifier) = identifier) ;) (expression_statement "MVGAutoWrapPrintf(wand,pcVar12,uVar1);" (call_expression "MVGAutoWrapPrintf(wand,pcVar12,uVar1)" identifier (argument_list "(wand,pcVar12,uVar1)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "uVar1 = 0xe8f;" (assignment_expression "uVar1 = 0xe8f" identifier = number_literal) ;) (expression_statement "puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60;" (assignment_expression "puVar18 = PTR_s_t_char____NULL_0014f03c + 0xd60" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal)) ;) (expression_statement "puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970;" (assignment_expression "puVar13 = PTR_s_t_char____NULL_0014f03c + -0x970" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal)) ;) (expression_statement "pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c);" (assignment_expression "pDVar10 = (DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c)" identifier = (cast_expression "(DrawingWand *)(PTR_s_t_char____NULL_0014f03c + 0x419c)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_char____NULL_0014f03c + 0x419c)" ( (binary_expression "PTR_s_t_char____NULL_0014f03c + 0x419c" identifier + number_literal) )))) ;) (expression_statement "puVar29 = PTR___assert_fail_0014f720;" (assignment_expression "puVar29 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)();" (call_expression "(*(code *)PTR___assert_fail_0014f720)()" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pDVar10 == (DrawingWand *)0x0) {\n    (**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }" if (parenthesized_expression "(pDVar10 == (DrawingWand *)0x0)" ( (binary_expression "pDVar10 == (DrawingWand *)0x0" identifier == (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);\n  }" { (expression_statement "(**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8);" (call_expression "(**(code **)(puVar29 + 0xebb8c))\n              (*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(**(code **)(puVar29 + 0xebb8c))" ( (pointer_expression "**(code **)(puVar29 + 0xebb8c)" * (pointer_expression "*(code **)(puVar29 + 0xebb8c)" * (cast_expression "(code **)(puVar29 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xebb8c)" ( (binary_expression "puVar29 + 0xebb8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar29 + 0xeb4a8) + -0x954,*(int *)(puVar29 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar29 + 0xeb4a8) + 0xcc8)" ( (binary_expression "*(int *)(puVar29 + 0xeb4a8) + -0x954" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar29 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar29 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = pDVar10;\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }\n  }" { (expression_statement "unaff_s0 = pDVar10;" (assignment_expression "unaff_s0 = pDVar10" identifier = identifier) ;) (if_statement "if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }" if (parenthesized_expression "(pDVar10->signature == 0xabacadab)" ( (binary_expression "pDVar10->signature == 0xabacadab" (field_expression "pDVar10->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }\n      iVar14 = *(int *)(puVar29 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      pDVar10->path_mode = (PathMode)puVar13;\n      pDVar10->path_operation = PathMoveToOperation;\n      MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);\n      return;\n    }" { (if_statement "if (pDVar10->debug != MagickFalse) {\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" if (parenthesized_expression "(pDVar10->debug != MagickFalse)" ( (binary_expression "pDVar10->debug != MagickFalse" (field_expression "pDVar10->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" { (expression_statement "(**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee);" (call_expression "(**(code **)(puVar29 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee)" (parenthesized_expression "(**(code **)(puVar29 + 0xeb8f4))" ( (pointer_expression "**(code **)(puVar29 + 0xeb8f4)" * (pointer_expression "*(code **)(puVar29 + 0xeb8f4)" * (cast_expression "(code **)(puVar29 + 0xeb8f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xeb8f4)" ( (binary_expression "puVar29 + 0xeb8f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar29 + 0xeb4a8) + -0x970,*(int *)(puVar29 + 0xeb4a8) + 0xcb8,\n                   0xeee)" ( number_literal , (binary_expression "*(int *)(puVar29 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar29 + 0xeb4a8) + 0xcb8" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)) {\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }" if (parenthesized_expression "((pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13))" ( (binary_expression "(pDVar10->path_operation == PathMoveToOperation) &&\n         ((undefined *)pDVar10->path_mode == puVar13)" (parenthesized_expression "(pDVar10->path_operation == PathMoveToOperation)" ( (binary_expression "pDVar10->path_operation == PathMoveToOperation" (field_expression "pDVar10->path_operation" identifier -> field_identifier) == identifier) )) && (parenthesized_expression "((undefined *)pDVar10->path_mode == puVar13)" ( (binary_expression "(undefined *)pDVar10->path_mode == puVar13" (cast_expression "(undefined *)pDVar10->path_mode" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar10->path_mode" identifier -> field_identifier)) == identifier) ))) )) (compound_statement "{\n        MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);\n        return;\n      }" { (expression_statement "MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18);" (call_expression "MVGAutoWrapPrintf(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18)" identifier (argument_list "(pDVar10,(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc),uVar1,puVar18)" ( identifier , (cast_expression "(char *)(*(int *)(puVar29 + 0xeb4a8) + -0x8bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0xeb4a8) + -0x8bc)" ( (binary_expression "*(int *)(puVar29 + 0xeb4a8) + -0x8bc" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar14 = *(int *)(puVar29 + 0xeb4a8);" (assignment_expression "iVar14 = *(int *)(puVar29 + 0xeb4a8)" identifier = (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = 0x6d;" (assignment_expression "uVar1 = 0x6d" identifier = number_literal) ;) (if_statement "if (puVar13 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }" if (parenthesized_expression "(puVar13 == (undefined *)0x1)" ( (binary_expression "puVar13 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar1 = 0x4d;\n      }" { (expression_statement "uVar1 = 0x4d;" (assignment_expression "uVar1 = 0x4d" identifier = number_literal) ;) })) (expression_statement "pDVar10->path_mode = (PathMode)puVar13;" (assignment_expression "pDVar10->path_mode = (PathMode)puVar13" (field_expression "pDVar10->path_mode" identifier -> field_identifier) = (cast_expression "(PathMode)puVar13" ( (type_descriptor "PathMode" type_identifier) ) identifier)) ;) (expression_statement "pDVar10->path_operation = PathMoveToOperation;" (assignment_expression "pDVar10->path_operation = PathMoveToOperation" (field_expression "pDVar10->path_operation" identifier -> field_identifier) = identifier) ;) (expression_statement "MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1);" (call_expression "MVGAutoWrapPrintf(pDVar10,(char *)(iVar14 + -0x890),uVar1)" identifier (argument_list "(pDVar10,(char *)(iVar14 + -0x890),uVar1)" ( identifier , (cast_expression "(char *)(iVar14 + -0x890)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x890)" ( (binary_expression "iVar14 + -0x890" identifier + number_literal) ))) , identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "pcVar30 = *(code **)(puVar29 + 0xebb8c);" (assignment_expression "pcVar30 = *(code **)(puVar29 + 0xebb8c)" identifier = (pointer_expression "*(code **)(puVar29 + 0xebb8c)" * (cast_expression "(code **)(puVar29 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar29 + 0xebb8c)" ( (binary_expression "puVar29 + 0xebb8c" identifier + number_literal) ))))) ;) (expression_statement "pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970);" (assignment_expression "pDVar10 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970)" identifier = (cast_expression "(DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + -0x970)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0xeb4a8) + -0x970)" ( (binary_expression "*(int *)(puVar29 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c);" (assignment_expression "wand_00 = (DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c)" identifier = (cast_expression "(DrawingWand *)(*(int *)(puVar29 + 0xeb4a8) + 0x419c)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar29 + 0xeb4a8) + 0x419c)" ( (binary_expression "*(int *)(puVar29 + 0xeb4a8) + 0x419c" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8);" (call_expression "(*pcVar30)(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(wand_00,pDVar10,0xeec,*(int *)(puVar29 + 0xeb4a8) + 0xcc8)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar29 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar29 + 0xeb4a8)" * (cast_expression "(int *)(puVar29 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar29 + 0xeb4a8)" ( (binary_expression "puVar29 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar27 = *(int **)(pcVar30 + 0xeb7ac);" (assignment_expression "piVar27 = *(int **)(pcVar30 + 0xeb7ac)" identifier = (pointer_expression "*(int **)(pcVar30 + 0xeb7ac)" * (cast_expression "(int **)(pcVar30 + 0xeb7ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb7ac)" ( (binary_expression "pcVar30 + 0xeb7ac" identifier + number_literal) ))))) ;) (expression_statement "iStack_9c = *piVar27;" (assignment_expression "iStack_9c = *piVar27" identifier = (pointer_expression "*piVar27" * identifier)) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb804);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb804)" * (cast_expression "(code **)(pcVar30 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb804)" ( (binary_expression "pcVar30 + 0xeb804" identifier + number_literal) ))))) ;) (expression_statement "pDVar11 = wand_00;" (assignment_expression "pDVar11 = wand_00" identifier = identifier) ;) (expression_statement "pDStack_98 = unaff_s0;" (assignment_expression "pDStack_98 = unaff_s0" identifier = identifier) ;) (if_statement "if ((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0)) {\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));\n  }\n  else {\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }" if (parenthesized_expression "((((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0))" ( (binary_expression "(((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)) &&\n     (*(double *)(pDVar10->name + 0x44) == 0.0)" (parenthesized_expression "(((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0))" ( (binary_expression "((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)) &&\n      (pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)" (parenthesized_expression "((*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0))" ( (binary_expression "(*(double *)(pDVar10->name + 0x24) == 0.0) && (*(double *)(pDVar10->name + 0x2c) == 0.0)" (parenthesized_expression "(*(double *)(pDVar10->name + 0x24) == 0.0)" ( (binary_expression "*(double *)(pDVar10->name + 0x24) == 0.0" (pointer_expression "*(double *)(pDVar10->name + 0x24)" * (cast_expression "(double *)(pDVar10->name + 0x24)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x24)" ( (binary_expression "pDVar10->name + 0x24" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(double *)(pDVar10->name + 0x2c) == 0.0)" ( (binary_expression "*(double *)(pDVar10->name + 0x2c) == 0.0" (pointer_expression "*(double *)(pDVar10->name + 0x2c)" * (cast_expression "(double *)(pDVar10->name + 0x2c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x2c)" ( (binary_expression "pDVar10->name + 0x2c" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0)" ( (comma_expression "pcVar31 = *(code **)(pcVar30 + 0xeb804), *(double *)(pDVar10->name + 0x34) == 0.0" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb804)" * (cast_expression "(code **)(pcVar30 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb804)" ( (binary_expression "pcVar30 + 0xeb804" identifier + number_literal) ))))) , (binary_expression "*(double *)(pDVar10->name + 0x34) == 0.0" (pointer_expression "*(double *)(pDVar10->name + 0x34)" * (cast_expression "(double *)(pDVar10->name + 0x34)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x34)" ( (binary_expression "pDVar10->name + 0x34" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(double *)(pDVar10->name + 0x44) == 0.0)" ( (binary_expression "*(double *)(pDVar10->name + 0x44) == 0.0" (pointer_expression "*(double *)(pDVar10->name + 0x44)" * (cast_expression "(double *)(pDVar10->name + 0x44)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x44)" ( (binary_expression "pDVar10->name + 0x44" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));\n  }" { (expression_statement "MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820));" (call_expression "MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820))" identifier (argument_list "(wand_00,(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820))" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xeb31c) + -0x820)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xeb31c) + -0x820)" ( (binary_expression "*(int *)(pcVar30 + 0xeb31c) + -0x820" (pointer_expression "*(int *)(pcVar30 + 0xeb31c)" * (cast_expression "(int *)(pcVar30 + 0xeb31c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb31c)" ( (binary_expression "pcVar30 + 0xeb31c" identifier + number_literal) )))) + number_literal) ))) ))) ;) }) (else_clause "else {\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }" else (compound_statement "{\n    (*pcVar31)(wand_00->image,auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(pDVar10->name + 0x44);\n    uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);\n    uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);\n  }" { (expression_statement "(*pcVar31)(wand_00->image,auStack_10f8);" (call_expression "(*pcVar31)(wand_00->image,auStack_10f8)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(wand_00->image,auStack_10f8)" ( (field_expression "wand_00->image" identifier -> field_identifier) , identifier ))) ;) (expression_statement "uStack_10f4 = 0x17;" (assignment_expression "uStack_10f4 = 0x17" identifier = number_literal) ;) (expression_statement "dStack_10b0 = *(double *)(pDVar10->name + 0x44);" (assignment_expression "dStack_10b0 = *(double *)(pDVar10->name + 0x44)" identifier = (pointer_expression "*(double *)(pDVar10->name + 0x44)" * (cast_expression "(double *)(pDVar10->name + 0x44)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x44)" ( (binary_expression "pDVar10->name + 0x44" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24);" (assignment_expression "uStack_10d0 = *(undefined8 *)(pDVar10->name + 0x24)" identifier = (pointer_expression "*(undefined8 *)(pDVar10->name + 0x24)" * (cast_expression "(undefined8 *)(pDVar10->name + 0x24)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x24)" ( (binary_expression "pDVar10->name + 0x24" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uStack_10f0 = 4;" (assignment_expression "uStack_10f0 = 4" identifier = number_literal) ;) (expression_statement "uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c);" (assignment_expression "uStack_10c8 = *(undefined8 *)(pDVar10->name + 0x2c)" identifier = (pointer_expression "*(undefined8 *)(pDVar10->name + 0x2c)" * (cast_expression "(undefined8 *)(pDVar10->name + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x2c)" ( (binary_expression "pDVar10->name + 0x2c" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34);" (assignment_expression "uStack_10c0 = *(undefined8 *)(pDVar10->name + 0x34)" identifier = (pointer_expression "*(undefined8 *)(pDVar10->name + 0x34)" * (cast_expression "(undefined8 *)(pDVar10->name + 0x34)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pDVar10->name + 0x34)" ( (binary_expression "pDVar10->name + 0x34" (field_expression "pDVar10->name" identifier -> field_identifier) + number_literal) ))))) ;) (if_statement "if (dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }" if (parenthesized_expression "(dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0))" ( (binary_expression "dStack_10b0 == *(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)" identifier == (pointer_expression "*(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)" * (cast_expression "(double *)(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xeb30c) + 0x75f0)" ( (binary_expression "*(int *)(pcVar30 + 0xeb30c) + 0x75f0" (pointer_expression "*(int *)(pcVar30 + 0xeb30c)" * (cast_expression "(int *)(pcVar30 + 0xeb30c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb30c)" ( (binary_expression "pcVar30 + 0xeb30c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uStack_10f0 = 0;\n    }" { (expression_statement "uStack_10f0 = 0;" (assignment_expression "uStack_10f0 = 0" identifier = number_literal) ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c);" (call_expression "(**(code **)(pcVar30 + 0xeb608))(auStack_10f8,1,auStack_109c)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb608))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb608)" * (pointer_expression "*(code **)(pcVar30 + 0xeb608)" * (cast_expression "(code **)(pcVar30 + 0xeb608)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb608)" ( (binary_expression "pcVar30 + 0xeb608" identifier + number_literal) ))))) )) (argument_list "(auStack_10f8,1,auStack_109c)" ( identifier , number_literal , identifier ))) ;) (expression_statement "MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c);" (call_expression "MVGPrintf(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c)" identifier (argument_list "(wand_00,(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c),auStack_109c)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xeb310) + -0x131c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xeb310) + -0x131c)" ( (binary_expression "*(int *)(pcVar30 + 0xeb310) + -0x131c" (pointer_expression "*(int *)(pcVar30 + 0xeb310)" * (cast_expression "(int *)(pcVar30 + 0xeb310)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb310)" ( (binary_expression "pcVar30 + 0xeb310" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) }))) (expression_statement "puVar25 = auStack_10f8;" (assignment_expression "puVar25 = auStack_10f8" identifier = identifier) ;) (if_statement "if (iStack_9c == *piVar27) {\n    return;\n  }" if (parenthesized_expression "(iStack_9c == *piVar27)" ( (binary_expression "iStack_9c == *piVar27" identifier == (pointer_expression "*piVar27" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar30 = *(code **)(pcVar30 + 0xeb66c);" (assignment_expression "pcVar30 = *(code **)(pcVar30 + 0xeb66c)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb66c)" * (cast_expression "(code **)(pcVar30 + 0xeb66c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb66c)" ( (binary_expression "pcVar30 + 0xeb66c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar30)();" (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeb490);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeb800);\n      pDVar11->mvg = (char *)0x0;\n      pDVar11->mvg_alloc = 0;\n      pDVar11->mvg_length = 0;\n      pDVar11->mvg_width = 0;\n      pDVar11->pattern_id = (char *)0x0;\n      pDVar11->pattern_offset = 0;\n      (pDVar11->pattern_bounds).x = 0;\n      (pDVar11->pattern_bounds).y = 0;\n      (pDVar11->pattern_bounds).width = 0;\n      (pDVar11->pattern_bounds).height = 0;\n      pDVar11->index = 0;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);\n      pDVar11->graphic_context = ppDVar23;\n      if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }\n      (**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);\n      return;\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);" (call_expression "(**(code **)(pcVar30 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb5fc))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb5fc)" * (pointer_expression "*(code **)(pcVar30 + 0xeb5fc)" * (cast_expression "(code **)(pcVar30 + 0xeb5fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb5fc)" ( (binary_expression "pcVar30 + 0xeb5fc" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xeb1b0) + -0x970,*(int *)(pcVar30 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "sVar2 = pDVar11->index;" (assignment_expression "sVar2 = pDVar11->index" identifier = (field_expression "pDVar11->index" identifier -> field_identifier)) ;) (while_statement "while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }" while (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }" { (expression_statement "ppDVar23 = pDVar11->graphic_context;" (assignment_expression "ppDVar23 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2]);" (assignment_expression "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2])" identifier = (cast_expression "(DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2])" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb4ac))(ppDVar23[sVar2])" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar30 + 0xeb4ac)" * (cast_expression "(code **)(pcVar30 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb4ac)" ( (binary_expression "pcVar30 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(ppDVar23[sVar2])" ( (subscript_expression "ppDVar23[sVar2]" identifier [ identifier ]) ))))) ;) (expression_statement "sVar7 = pDVar11->index;" (assignment_expression "sVar7 = pDVar11->index" identifier = (field_expression "pDVar11->index" identifier -> field_identifier)) ;) (expression_statement "ppDVar23[sVar2] = pDVar3;" (assignment_expression "ppDVar23[sVar2] = pDVar3" (subscript_expression "ppDVar23[sVar2]" identifier [ identifier ]) = identifier) ;) (expression_statement "sVar2 = sVar7 - 1;" (assignment_expression "sVar2 = sVar7 - 1" identifier = (binary_expression "sVar7 - 1" identifier - number_literal)) ;) (expression_statement "pDVar11->index = sVar2;" (assignment_expression "pDVar11->index = sVar2" (field_expression "pDVar11->index" identifier -> field_identifier) = identifier) ;) })) (expression_statement "ppDVar24 = pDVar11->graphic_context;" (assignment_expression "ppDVar24 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24);" (assignment_expression "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24)" identifier = (cast_expression "(DrawInfo *)(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24)" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb4ac))(*ppDVar24)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar30 + 0xeb4ac)" * (cast_expression "(code **)(pcVar30 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb4ac)" ( (binary_expression "pcVar30 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(*ppDVar24)" ( (pointer_expression "*ppDVar24" * identifier) ))))) ;) (expression_statement "ppDVar23 = pDVar11->graphic_context;" (assignment_expression "ppDVar23 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb490);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb490)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb490)" * (cast_expression "(code **)(pcVar30 + 0xeb490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb490)" ( (binary_expression "pcVar30 + 0xeb490" identifier + number_literal) ))))) ;) (expression_statement "*ppDVar24 = pDVar3;" (assignment_expression "*ppDVar24 = pDVar3" (pointer_expression "*ppDVar24" * identifier) = identifier) ;) (expression_statement "ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);" (assignment_expression "ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23)" identifier = (cast_expression "(DrawInfo **)(*pcVar31)(ppDVar23)" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar31)(ppDVar23)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(ppDVar23)" ( identifier ))))) ;) (expression_statement "pDVar11->graphic_context = ppDVar23;" (assignment_expression "pDVar11->graphic_context = ppDVar23" (field_expression "pDVar11->graphic_context" identifier -> field_identifier) = identifier) ;) (if_statement "if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }" if (parenthesized_expression "(pDVar11->pattern_id != (char *)0x0)" ( (binary_expression "pDVar11->pattern_id != (char *)0x0" (field_expression "pDVar11->pattern_id" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();\n        pDVar11->pattern_id = pcVar12;\n      }" { (expression_statement "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))();" (assignment_expression "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))()" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0xeb508))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb508))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb508)" * (pointer_expression "*(code **)(pcVar30 + 0xeb508)" * (cast_expression "(code **)(pcVar30 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb508)" ( (binary_expression "pcVar30 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pDVar11->pattern_id = pcVar12;" (assignment_expression "pDVar11->pattern_id = pcVar12" (field_expression "pDVar11->pattern_id" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg);" (assignment_expression "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg)" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb508))(pDVar11->mvg)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb508)" * (pointer_expression "*(code **)(pcVar30 + 0xeb508)" * (cast_expression "(code **)(pcVar30 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb508)" ( (binary_expression "pcVar30 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "(pDVar11->mvg)" ( (field_expression "pDVar11->mvg" identifier -> field_identifier) ))))) ;) (expression_statement "pDVar11->mvg = pcVar12;" (assignment_expression "pDVar11->mvg = pcVar12" (field_expression "pDVar11->mvg" identifier -> field_identifier) = identifier) ;) (if_statement "if ((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)) {\n        pDVar11->image = (Image *)0x0;\n      }\n      else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }" if (parenthesized_expression "((pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0))" ( (binary_expression "(pDVar11->destroy == MagickFalse) || (pDVar11->image == (Image *)0x0)" (parenthesized_expression "(pDVar11->destroy == MagickFalse)" ( (binary_expression "pDVar11->destroy == MagickFalse" (field_expression "pDVar11->destroy" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(pDVar11->image == (Image *)0x0)" ( (binary_expression "pDVar11->image == (Image *)0x0" (field_expression "pDVar11->image" identifier -> field_identifier) == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        pDVar11->image = (Image *)0x0;\n      }" { (expression_statement "pDVar11->image = (Image *)0x0;" (assignment_expression "pDVar11->image = (Image *)0x0" (field_expression "pDVar11->image" identifier -> field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }" else (compound_statement "{\n        pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();\n        pDVar11->image = pIVar4;\n      }" { (expression_statement "pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))();" (assignment_expression "pIVar4 = (Image *)(**(code **)(pcVar30 + 0xeb458))()" identifier = (cast_expression "(Image *)(**(code **)(pcVar30 + 0xeb458))()" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb458))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb458))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb458)" * (pointer_expression "*(code **)(pcVar30 + 0xeb458)" * (cast_expression "(code **)(pcVar30 + 0xeb458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb458)" ( (binary_expression "pcVar30 + 0xeb458" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pDVar11->image = pIVar4;" (assignment_expression "pDVar11->image = pIVar4" (field_expression "pDVar11->image" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb800);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb800)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb800)" * (cast_expression "(code **)(pcVar30 + 0xeb800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb800)" ( (binary_expression "pcVar30 + 0xeb800" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->mvg = (char *)0x0;" (assignment_expression "pDVar11->mvg = (char *)0x0" (field_expression "pDVar11->mvg" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar11->mvg_alloc = 0;" (assignment_expression "pDVar11->mvg_alloc = 0" (field_expression "pDVar11->mvg_alloc" identifier -> field_identifier) = number_literal) ;) (expression_statement "pDVar11->mvg_length = 0;" (assignment_expression "pDVar11->mvg_length = 0" (field_expression "pDVar11->mvg_length" identifier -> field_identifier) = number_literal) ;) (expression_statement "pDVar11->mvg_width = 0;" (assignment_expression "pDVar11->mvg_width = 0" (field_expression "pDVar11->mvg_width" identifier -> field_identifier) = number_literal) ;) (expression_statement "pDVar11->pattern_id = (char *)0x0;" (assignment_expression "pDVar11->pattern_id = (char *)0x0" (field_expression "pDVar11->pattern_id" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pDVar11->pattern_offset = 0;" (assignment_expression "pDVar11->pattern_offset = 0" (field_expression "pDVar11->pattern_offset" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pDVar11->pattern_bounds).x = 0;" (assignment_expression "(pDVar11->pattern_bounds).x = 0" (field_expression "(pDVar11->pattern_bounds).x" (parenthesized_expression "(pDVar11->pattern_bounds)" ( (field_expression "pDVar11->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pDVar11->pattern_bounds).y = 0;" (assignment_expression "(pDVar11->pattern_bounds).y = 0" (field_expression "(pDVar11->pattern_bounds).y" (parenthesized_expression "(pDVar11->pattern_bounds)" ( (field_expression "pDVar11->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pDVar11->pattern_bounds).width = 0;" (assignment_expression "(pDVar11->pattern_bounds).width = 0" (field_expression "(pDVar11->pattern_bounds).width" (parenthesized_expression "(pDVar11->pattern_bounds)" ( (field_expression "pDVar11->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pDVar11->pattern_bounds).height = 0;" (assignment_expression "(pDVar11->pattern_bounds).height = 0" (field_expression "(pDVar11->pattern_bounds).height" (parenthesized_expression "(pDVar11->pattern_bounds)" ( (field_expression "pDVar11->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pDVar11->index = 0;" (assignment_expression "pDVar11->index = 0" (field_expression "pDVar11->index" identifier -> field_identifier) = number_literal) ;) (expression_statement "ppDVar23 = (DrawInfo **)(*pcVar31)(1,4);" (assignment_expression "ppDVar23 = (DrawInfo **)(*pcVar31)(1,4)" identifier = (cast_expression "(DrawInfo **)(*pcVar31)(1,4)" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar31)(1,4)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(1,4)" ( number_literal , number_literal ))))) ;) (expression_statement "pDVar11->graphic_context = ppDVar23;" (assignment_expression "pDVar11->graphic_context = ppDVar23" (field_expression "pDVar11->graphic_context" identifier -> field_identifier) = identifier) ;) (if_statement "if (ppDVar23 != (DrawInfo **)0x0) {\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }" if (parenthesized_expression "(ppDVar23 != (DrawInfo **)0x0)" ( (binary_expression "ppDVar23 != (DrawInfo **)0x0" identifier != (cast_expression "(DrawInfo **)0x0" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        sVar2 = pDVar11->index;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);\n        pEVar15 = pDVar11->exception;\n        pDVar11->filter_off = MagickTrue;\n        ppDVar23[sVar2] = pDVar3;\n        pDVar11->indent_depth = 0;\n        pDVar11->path_operation = PathDefaultOperation;\n        pcVar31 = *(code **)(pcVar30 + 0xeb898);\n        pDVar11->path_mode = DefaultPathMode;\n        pIVar4 = (Image *)(*pcVar31)(0,pEVar15);\n        pcVar31 = *(code **)(pcVar30 + 0xeb548);\n        pDVar11->image = pIVar4;\n        (*pcVar31)(pDVar11->exception);\n        pcVar30 = *(code **)(pcVar30 + 0xeb97c);\n        pDVar11->destroy = MagickTrue;\n        MVar5 = (*pcVar30)();\n        pDVar11->debug = MVar5;\n        return;\n      }" { (expression_statement "sVar2 = pDVar11->index;" (assignment_expression "sVar2 = pDVar11->index" identifier = (field_expression "pDVar11->index" identifier -> field_identifier)) ;) (expression_statement "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0);" (assignment_expression "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0)" identifier = (cast_expression "(DrawInfo *)(**(code **)(pcVar30 + 0xeb618))(0,0)" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeb618))(0,0)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb618))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb618)" * (pointer_expression "*(code **)(pcVar30 + 0xeb618)" * (cast_expression "(code **)(pcVar30 + 0xeb618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb618)" ( (binary_expression "pcVar30 + 0xeb618" identifier + number_literal) ))))) )) (argument_list "(0,0)" ( number_literal , number_literal ))))) ;) (expression_statement "pEVar15 = pDVar11->exception;" (assignment_expression "pEVar15 = pDVar11->exception" identifier = (field_expression "pDVar11->exception" identifier -> field_identifier)) ;) (expression_statement "pDVar11->filter_off = MagickTrue;" (assignment_expression "pDVar11->filter_off = MagickTrue" (field_expression "pDVar11->filter_off" identifier -> field_identifier) = identifier) ;) (expression_statement "ppDVar23[sVar2] = pDVar3;" (assignment_expression "ppDVar23[sVar2] = pDVar3" (subscript_expression "ppDVar23[sVar2]" identifier [ identifier ]) = identifier) ;) (expression_statement "pDVar11->indent_depth = 0;" (assignment_expression "pDVar11->indent_depth = 0" (field_expression "pDVar11->indent_depth" identifier -> field_identifier) = number_literal) ;) (expression_statement "pDVar11->path_operation = PathDefaultOperation;" (assignment_expression "pDVar11->path_operation = PathDefaultOperation" (field_expression "pDVar11->path_operation" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb898);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb898)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb898)" * (cast_expression "(code **)(pcVar30 + 0xeb898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb898)" ( (binary_expression "pcVar30 + 0xeb898" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->path_mode = DefaultPathMode;" (assignment_expression "pDVar11->path_mode = DefaultPathMode" (field_expression "pDVar11->path_mode" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar4 = (Image *)(*pcVar31)(0,pEVar15);" (assignment_expression "pIVar4 = (Image *)(*pcVar31)(0,pEVar15)" identifier = (cast_expression "(Image *)(*pcVar31)(0,pEVar15)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar31)(0,pEVar15)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(0,pEVar15)" ( number_literal , identifier ))))) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb548);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb548)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb548)" * (cast_expression "(code **)(pcVar30 + 0xeb548)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb548)" ( (binary_expression "pcVar30 + 0xeb548" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->image = pIVar4;" (assignment_expression "pDVar11->image = pIVar4" (field_expression "pDVar11->image" identifier -> field_identifier) = identifier) ;) (expression_statement "(*pcVar31)(pDVar11->exception);" (call_expression "(*pcVar31)(pDVar11->exception)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11->exception)" ( (field_expression "pDVar11->exception" identifier -> field_identifier) ))) ;) (expression_statement "pcVar30 = *(code **)(pcVar30 + 0xeb97c);" (assignment_expression "pcVar30 = *(code **)(pcVar30 + 0xeb97c)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb97c)" * (cast_expression "(code **)(pcVar30 + 0xeb97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb97c)" ( (binary_expression "pcVar30 + 0xeb97c" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->destroy = MagickTrue;" (assignment_expression "pDVar11->destroy = MagickTrue" (field_expression "pDVar11->destroy" identifier -> field_identifier) = identifier) ;) (expression_statement "MVar5 = (*pcVar30)();" (assignment_expression "MVar5 = (*pcVar30)()" identifier = (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pDVar11->debug = MVar5;" (assignment_expression "pDVar11->debug = MVar5" (field_expression "pDVar11->debug" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1);" (call_expression "(**(code **)(pcVar30 + 0xeb430))\n                (pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb430))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb430)" * (pointer_expression "*(code **)(pcVar30 + 0xeb430)" * (cast_expression "(code **)(pcVar30 + 0xeb430)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb430)" ( (binary_expression "pcVar30 + 0xeb430" identifier + number_literal) ))))) )) (argument_list "(pDVar11->exception,*(int *)(pcVar30 + 0xeb1b0) + -0x970,\n                 *(int *)(pcVar30 + 0xeb1b0) + 0x1a54,0x1c1)" ( (field_expression "pDVar11->exception" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68);" (call_expression "(**(code **)(pcVar30 + 0xeb894))\n              (*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb894))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb894)" * (pointer_expression "*(code **)(pcVar30 + 0xeb894)" * (cast_expression "(code **)(pcVar30 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb894)" ( (binary_expression "pcVar30 + 0xeb894" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xeb1b0) + 0x419c,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar30 + 0xeb1b0) + 0x1a68)" ( (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb894);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb894)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb894)" * (cast_expression "(code **)(pcVar30 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb894)" ( (binary_expression "pcVar30 + 0xeb894" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954;" (assignment_expression "iVar14 = *(int *)(pcVar30 + 0xeb1b0) + -0x954" identifier = (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)\n  ;" (call_expression "(*pcVar31)(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(iVar14,*(int *)(pcVar30 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar30 + 0xeb1b0) + 0x1a68)" ( identifier , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar30 + 0xeb1b0)" * (cast_expression "(int *)(pcVar30 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeb1b0)" ( (binary_expression "pcVar30 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar14 != 0) {\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);\n  }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);\n  }" { (if_statement "if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }" if (parenthesized_expression "(*(int *)(iVar14 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar14 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x1054)" * (cast_expression "(int *)(iVar14 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1054)" ( (binary_expression "iVar14 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);\n      if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);\n      uVar1 = (**(code **)(pcVar31 + 0xeb334))();\n      *puVar6 = uVar1;\n      (**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);\n      pcVar30 = *(code **)(pcVar31 + 0xeb5a8);\n      puVar6[0x402] = uVar1;\n      (*pcVar30)(uVar1,uVar16);\n      uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));\n      pcVar30 = *(code **)(pcVar31 + 0xeb434);\n      puVar6[0x403] = uVar1;\n      uVar1 = (*pcVar30)(uVar1);\n      iVar8 = *(int *)(&DAT_00001014 + iVar14);\n      uVar16 = *(undefined4 *)(iVar14 + 0x101c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb704);\n      puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);\n      puVar6[0x404] = iVar8 + 1;\n      puVar6[0x405] = uVar1;\n      uVar1 = (*pcVar30)(uVar16);\n      iVar8 = *(int *)(iVar14 + 0x1034);\n      uVar22 = *(undefined4 *)(iVar14 + 0x1030);\n      uVar21 = *(undefined4 *)(iVar14 + 0x1020);\n      uVar20 = *(undefined4 *)(iVar14 + 0x1024);\n      uVar19 = *(undefined4 *)(iVar14 + 0x1028);\n      uVar16 = *(undefined4 *)(iVar14 + 0x102c);\n      pcVar30 = *(code **)(pcVar31 + 0xeb544);\n      puVar6[0x407] = uVar1;\n      puVar6[0x40c] = uVar22;\n      puVar6[0x408] = uVar21;\n      puVar6[0x409] = uVar20;\n      puVar6[0x40a] = uVar19;\n      puVar6[0x40b] = uVar16;\n      puVar6[0x40d] = iVar8;\n      iVar8 = (*pcVar30)(iVar8 + 1,4);\n      puVar6[0x40e] = iVar8;\n      if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }\n      uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n      puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n      (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n      uVar16 = 0x207;\n      do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );\n    }" { (if_statement "if (*(int *)(iVar14 + 0x1050) != 0) {\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" if (parenthesized_expression "(*(int *)(iVar14 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar14 + 0x1050) != 0" (pointer_expression "*(int *)(iVar14 + 0x1050)" * (cast_expression "(int *)(iVar14 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1050)" ( (binary_expression "iVar14 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);" (call_expression "(**(code **)(pcVar31 + 0xeb340))\n                  (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb340)" * (pointer_expression "*(code **)(pcVar31 + 0xeb340)" * (cast_expression "(code **)(pcVar31 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb340)" ( (binary_expression "pcVar31 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058);" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar31 + 0xeb784))(0x1058)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0xeb784))(0x1058)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb784))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb784)" * (pointer_expression "*(code **)(pcVar31 + 0xeb784)" * (cast_expression "(code **)(pcVar31 + 0xeb784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb784)" ( (binary_expression "pcVar31 + 0xeb784" identifier + number_literal) ))))) )) (argument_list "(0x1058)" ( number_literal ))))) ;) (if_statement "if (puVar6 == (undefined4 *)0x0) goto LAB_000644e0;" if (parenthesized_expression "(puVar6 == (undefined4 *)0x0)" ( (binary_expression "puVar6 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000644e0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058);" (call_expression "(**(code **)(pcVar31 + 0xeb64c))(puVar6,0,0x1058)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb64c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb64c)" * (pointer_expression "*(code **)(pcVar31 + 0xeb64c)" * (cast_expression "(code **)(pcVar31 + 0xeb64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb64c)" ( (binary_expression "pcVar31 + 0xeb64c" identifier + number_literal) ))))) )) (argument_list "(puVar6,0,0x1058)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb334))();" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb334))()" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb334))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb334))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb334)" * (pointer_expression "*(code **)(pcVar31 + 0xeb334)" * (cast_expression "(code **)(pcVar31 + 0xeb334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb334)" ( (binary_expression "pcVar31 + 0xeb334" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*puVar6 = uVar1;" (assignment_expression "*puVar6 = uVar1" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818);" (call_expression "(**(code **)(pcVar31 + 0xeb038))(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb038))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb038)" * (pointer_expression "*(code **)(pcVar31 + 0xeb038)" * (cast_expression "(code **)(pcVar31 + 0xeb038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb038)" ( (binary_expression "pcVar31 + 0xeb038" identifier + number_literal) ))))) )) (argument_list "(puVar6 + 1,0x1000,*(int *)(pcVar31 + 0xeaef4) + -0x818)" ( (binary_expression "puVar6 + 1" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x818" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb158)" * (pointer_expression "*(code **)(pcVar31 + 0xeb158)" * (cast_expression "(code **)(pcVar31 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb158)" ( (binary_expression "pcVar31 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14);" (assignment_expression "uVar16 = *(undefined4 *)(&DAT_00001008 + iVar14)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar14)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar14)" ( (binary_expression "&DAT_00001008 + iVar14" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb5a8);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb5a8)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb5a8)" * (cast_expression "(code **)(pcVar31 + 0xeb5a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb5a8)" ( (binary_expression "pcVar31 + 0xeb5a8" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x402] = uVar1;" (assignment_expression "puVar6[0x402] = uVar1" (subscript_expression "puVar6[0x402]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar30)(uVar1,uVar16);" (call_expression "(*pcVar30)(uVar1,uVar16)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(uVar1,uVar16)" ( identifier , identifier ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c));" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c))" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb704))(*(undefined4 *)(iVar14 + 0x100c))" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb704))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb704)" * (pointer_expression "*(code **)(pcVar31 + 0xeb704)" * (cast_expression "(code **)(pcVar31 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb704)" ( (binary_expression "pcVar31 + 0xeb704" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar14 + 0x100c))" ( (pointer_expression "*(undefined4 *)(iVar14 + 0x100c)" * (cast_expression "(undefined4 *)(iVar14 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x100c)" ( (binary_expression "iVar14 + 0x100c" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb434);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb434)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb434)" * (cast_expression "(code **)(pcVar31 + 0xeb434)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb434)" ( (binary_expression "pcVar31 + 0xeb434" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x403] = uVar1;" (assignment_expression "puVar6[0x403] = uVar1" (subscript_expression "puVar6[0x403]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar30)(uVar1);" (assignment_expression "uVar1 = (*pcVar30)(uVar1)" identifier = (call_expression "(*pcVar30)(uVar1)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(uVar1)" ( identifier )))) ;) (expression_statement "iVar8 = *(int *)(&DAT_00001014 + iVar14);" (assignment_expression "iVar8 = *(int *)(&DAT_00001014 + iVar14)" identifier = (pointer_expression "*(int *)(&DAT_00001014 + iVar14)" * (cast_expression "(int *)(&DAT_00001014 + iVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar14)" ( (binary_expression "&DAT_00001014 + iVar14" (pointer_expression "&DAT_00001014" & identifier) + identifier) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x101c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x101c)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x101c)" * (cast_expression "(undefined4 *)(iVar14 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x101c)" ( (binary_expression "iVar14 + 0x101c" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb704);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb704)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb704)" * (cast_expression "(code **)(pcVar31 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb704)" ( (binary_expression "pcVar31 + 0xeb704" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14);" (assignment_expression "puVar6[0x406] = *(undefined4 *)(&DAT_00001018 + iVar14)" (subscript_expression "puVar6[0x406]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(&DAT_00001018 + iVar14)" * (cast_expression "(undefined4 *)(&DAT_00001018 + iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar14)" ( (binary_expression "&DAT_00001018 + iVar14" (pointer_expression "&DAT_00001018" & identifier) + identifier) ))))) ;) (expression_statement "puVar6[0x404] = iVar8 + 1;" (assignment_expression "puVar6[0x404] = iVar8 + 1" (subscript_expression "puVar6[0x404]" identifier [ number_literal ]) = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "puVar6[0x405] = uVar1;" (assignment_expression "puVar6[0x405] = uVar1" (subscript_expression "puVar6[0x405]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar30)(uVar16);" (assignment_expression "uVar1 = (*pcVar30)(uVar16)" identifier = (call_expression "(*pcVar30)(uVar16)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(uVar16)" ( identifier )))) ;) (expression_statement "iVar8 = *(int *)(iVar14 + 0x1034);" (assignment_expression "iVar8 = *(int *)(iVar14 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar14 + 0x1034)" * (cast_expression "(int *)(iVar14 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1034)" ( (binary_expression "iVar14 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(undefined4 *)(iVar14 + 0x1030);" (assignment_expression "uVar22 = *(undefined4 *)(iVar14 + 0x1030)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1030)" * (cast_expression "(undefined4 *)(iVar14 + 0x1030)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1030)" ( (binary_expression "iVar14 + 0x1030" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = *(undefined4 *)(iVar14 + 0x1020);" (assignment_expression "uVar21 = *(undefined4 *)(iVar14 + 0x1020)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1020)" * (cast_expression "(undefined4 *)(iVar14 + 0x1020)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1020)" ( (binary_expression "iVar14 + 0x1020" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined4 *)(iVar14 + 0x1024);" (assignment_expression "uVar20 = *(undefined4 *)(iVar14 + 0x1024)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1024)" * (cast_expression "(undefined4 *)(iVar14 + 0x1024)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1024)" ( (binary_expression "iVar14 + 0x1024" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = *(undefined4 *)(iVar14 + 0x1028);" (assignment_expression "uVar19 = *(undefined4 *)(iVar14 + 0x1028)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1028)" * (cast_expression "(undefined4 *)(iVar14 + 0x1028)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1028)" ( (binary_expression "iVar14 + 0x1028" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar14 + 0x102c);" (assignment_expression "uVar16 = *(undefined4 *)(iVar14 + 0x102c)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x102c)" * (cast_expression "(undefined4 *)(iVar14 + 0x102c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x102c)" ( (binary_expression "iVar14 + 0x102c" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb544);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb544)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb544)" * (cast_expression "(code **)(pcVar31 + 0xeb544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb544)" ( (binary_expression "pcVar31 + 0xeb544" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x407] = uVar1;" (assignment_expression "puVar6[0x407] = uVar1" (subscript_expression "puVar6[0x407]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x40c] = uVar22;" (assignment_expression "puVar6[0x40c] = uVar22" (subscript_expression "puVar6[0x40c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x408] = uVar21;" (assignment_expression "puVar6[0x408] = uVar21" (subscript_expression "puVar6[0x408]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x409] = uVar20;" (assignment_expression "puVar6[0x409] = uVar20" (subscript_expression "puVar6[0x409]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x40a] = uVar19;" (assignment_expression "puVar6[0x40a] = uVar19" (subscript_expression "puVar6[0x40a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x40b] = uVar16;" (assignment_expression "puVar6[0x40b] = uVar16" (subscript_expression "puVar6[0x40b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x40d] = iVar8;" (assignment_expression "puVar6[0x40d] = iVar8" (subscript_expression "puVar6[0x40d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar8 = (*pcVar30)(iVar8 + 1,4);" (assignment_expression "iVar8 = (*pcVar30)(iVar8 + 1,4)" identifier = (call_expression "(*pcVar30)(iVar8 + 1,4)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(iVar8 + 1,4)" ( (binary_expression "iVar8 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "puVar6[0x40e] = iVar8;" (assignment_expression "puVar6[0x40e] = iVar8" (subscript_expression "puVar6[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }\n        uVar19 = *(undefined4 *)(iVar14 + 0x1040);\n        uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);\n        uVar1 = *(undefined4 *)(iVar14 + 0x1048);\n        iVar8 = *(int *)(&DAT_00001004 + iVar14);\n        puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);\n        puVar6[0x410] = uVar19;\n        puVar6[0x411] = uVar16;\n        puVar6[0x412] = uVar1;\n        puVar6[0x401] = iVar8;\n        if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }\n        pcVar30 = *(code **)(pcVar31 + 0xeb6c0);\n        puVar6[0x413] = 1;\n        iVar14 = (*pcVar30)();\n        puVar6[0x414] = iVar14;\n        if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar6[0x415] = 0xabacadab;\n        return;\n      }" { (if_statement "if (-1 < *(int *)(iVar14 + 0x1034)) {\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar14 + 0x1034))" ( (binary_expression "-1 < *(int *)(iVar14 + 0x1034)" number_literal < (pointer_expression "*(int *)(iVar14 + 0x1034)" * (cast_expression "(int *)(iVar14 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1034)" ( (binary_expression "iVar14 + 0x1034" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar28 = 0;\n          while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }\n        }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar17 = iVar28 * 4;\n            iVar28 = iVar28 + 1;\n            uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));\n            iVar9 = *(int *)(iVar14 + 0x1034);\n            *(undefined4 *)(iVar8 + iVar17) = uVar1;\n            if (iVar9 < iVar28) break;\n            iVar8 = puVar6[0x40e];\n          }" { (expression_statement "iVar17 = iVar28 * 4;" (assignment_expression "iVar17 = iVar28 * 4" identifier = (binary_expression "iVar28 * 4" identifier * number_literal)) ;) (expression_statement "iVar28 = iVar28 + 1;" (assignment_expression "iVar28 = iVar28 + 1" identifier = (binary_expression "iVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17));" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17))" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17))" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb35c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb35c)" * (pointer_expression "*(code **)(pcVar31 + 0xeb35c)" * (cast_expression "(code **)(pcVar31 + 0xeb35c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb35c)" ( (binary_expression "pcVar31 + 0xeb35c" identifier + number_literal) ))))) )) (argument_list "(0,*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17))" ( number_literal , (pointer_expression "*(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17)" * (cast_expression "(undefined4 *)(*(int *)(iVar14 + 0x1038) + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + 0x1038) + iVar17)" ( (binary_expression "*(int *)(iVar14 + 0x1038) + iVar17" (pointer_expression "*(int *)(iVar14 + 0x1038)" * (cast_expression "(int *)(iVar14 + 0x1038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1038)" ( (binary_expression "iVar14 + 0x1038" identifier + number_literal) )))) + identifier) )))) )))) ;) (expression_statement "iVar9 = *(int *)(iVar14 + 0x1034);" (assignment_expression "iVar9 = *(int *)(iVar14 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar14 + 0x1034)" * (cast_expression "(int *)(iVar14 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1034)" ( (binary_expression "iVar14 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar8 + iVar17) = uVar1;" (assignment_expression "*(undefined4 *)(iVar8 + iVar17) = uVar1" (pointer_expression "*(undefined4 *)(iVar8 + iVar17)" * (cast_expression "(undefined4 *)(iVar8 + iVar17)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar17)" ( (binary_expression "iVar8 + iVar17" identifier + identifier) )))) = identifier) ;) (if_statement "if (iVar9 < iVar28) break;" if (parenthesized_expression "(iVar9 < iVar28)" ( (binary_expression "iVar9 < iVar28" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = puVar6[0x40e];" (assignment_expression "iVar8 = puVar6[0x40e]" identifier = (subscript_expression "puVar6[0x40e]" identifier [ number_literal ])) ;) })) })) (expression_statement "uVar19 = *(undefined4 *)(iVar14 + 0x1040);" (assignment_expression "uVar19 = *(undefined4 *)(iVar14 + 0x1040)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1040)" * (cast_expression "(undefined4 *)(iVar14 + 0x1040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1040)" ( (binary_expression "iVar14 + 0x1040" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14);" (assignment_expression "uVar16 = *(undefined4 *)(&DAT_00001044 + iVar14)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001044 + iVar14)" * (cast_expression "(undefined4 *)(&DAT_00001044 + iVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001044 + iVar14)" ( (binary_expression "&DAT_00001044 + iVar14" (pointer_expression "&DAT_00001044" & identifier) + identifier) ))))) ;) (expression_statement "uVar1 = *(undefined4 *)(iVar14 + 0x1048);" (assignment_expression "uVar1 = *(undefined4 *)(iVar14 + 0x1048)" identifier = (pointer_expression "*(undefined4 *)(iVar14 + 0x1048)" * (cast_expression "(undefined4 *)(iVar14 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1048)" ( (binary_expression "iVar14 + 0x1048" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(&DAT_00001004 + iVar14);" (assignment_expression "iVar8 = *(int *)(&DAT_00001004 + iVar14)" identifier = (pointer_expression "*(int *)(&DAT_00001004 + iVar14)" * (cast_expression "(int *)(&DAT_00001004 + iVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar14)" ( (binary_expression "&DAT_00001004 + iVar14" (pointer_expression "&DAT_00001004" & identifier) + identifier) ))))) ;) (expression_statement "puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c);" (assignment_expression "puVar6[0x40f] = *(undefined4 *)(iVar14 + 0x103c)" (subscript_expression "puVar6[0x40f]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar14 + 0x103c)" * (cast_expression "(undefined4 *)(iVar14 + 0x103c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x103c)" ( (binary_expression "iVar14 + 0x103c" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x410] = uVar19;" (assignment_expression "puVar6[0x410] = uVar19" (subscript_expression "puVar6[0x410]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x411] = uVar16;" (assignment_expression "puVar6[0x411] = uVar16" (subscript_expression "puVar6[0x411]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x412] = uVar1;" (assignment_expression "puVar6[0x412] = uVar1" (subscript_expression "puVar6[0x412]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar6[0x401] = iVar8;" (assignment_expression "puVar6[0x401] = iVar8" (subscript_expression "puVar6[0x401]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);\n          puVar6[0x401] = uVar1;\n        }" { (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1);" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1)" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb70c))(iVar8,0,0,1)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb70c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb70c)" * (pointer_expression "*(code **)(pcVar31 + 0xeb70c)" * (cast_expression "(code **)(pcVar31 + 0xeb70c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb70c)" ( (binary_expression "pcVar31 + 0xeb70c" identifier + number_literal) ))))) )) (argument_list "(iVar8,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "puVar6[0x401] = uVar1;" (assignment_expression "puVar6[0x401] = uVar1" (subscript_expression "puVar6[0x401]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb6c0);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb6c0)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb6c0)" * (cast_expression "(code **)(pcVar31 + 0xeb6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb6c0)" ( (binary_expression "pcVar31 + 0xeb6c0" identifier + number_literal) ))))) ;) (expression_statement "puVar6[0x413] = 1;" (assignment_expression "puVar6[0x413] = 1" (subscript_expression "puVar6[0x413]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar14 = (*pcVar30)();" (assignment_expression "iVar14 = (*pcVar30)()" identifier = (call_expression "(*pcVar30)()" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6[0x414] = iVar14;" (assignment_expression "puVar6[0x414] = iVar14" (subscript_expression "puVar6[0x414]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n          (**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);\n        }" { (expression_statement "(**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216);" (call_expression "(**(code **)(pcVar31 + 0xeb340))\n                    (0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb340)" * (pointer_expression "*(code **)(pcVar31 + 0xeb340)" * (cast_expression "(code **)(pcVar31 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb340)" ( (binary_expression "pcVar31 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar31 + 0xeaef4) + 0x1a2c,0x216)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar6[0x415] = 0xabacadab;" (assignment_expression "puVar6[0x415] = 0xabacadab" (subscript_expression "puVar6[0x415]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return;" return ;) })) (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb158)" * (pointer_expression "*(code **)(pcVar31 + 0xeb158)" * (cast_expression "(code **)(pcVar31 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb158)" ( (binary_expression "pcVar31 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar31 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb814)" * (pointer_expression "*(code **)(pcVar31 + 0xeb814)" * (cast_expression "(code **)(pcVar31 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb814)" ( (binary_expression "pcVar31 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb488))(*puVar6);" (call_expression "(**(code **)(pcVar31 + 0xeb488))(*puVar6)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb488)" * (pointer_expression "*(code **)(pcVar31 + 0xeb488)" * (cast_expression "(code **)(pcVar31 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb488)" ( (binary_expression "pcVar31 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) ))) ;) (expression_statement "uVar16 = 0x207;" (assignment_expression "uVar16 = 0x207" identifier = number_literal) ;) (do_statement "do {\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      } while( true );" do (compound_statement "{\n        (**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);\n        (**(code **)(pcVar31 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar31 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar31 + 0xeb688))();\n        (**(code **)(pcVar31 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();\n        puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();\n        (**(code **)(pcVar31 + 0xeb488))(*puVar6);\n        uVar16 = 500;\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16);" (call_expression "(**(code **)(pcVar31 + 0xeb174))\n                  (uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb174))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb174)" * (pointer_expression "*(code **)(pcVar31 + 0xeb174)" * (cast_expression "(code **)(pcVar31 + 0xeb174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb174)" ( (binary_expression "pcVar31 + 0xeb174" identifier + number_literal) ))))) )) (argument_list "(uVar1,*(int *)(pcVar31 + 0xeaef4) + -0x970,*(int *)(pcVar31 + 0xeaef4) + 0x1a2c,\n                   uVar16)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb3d8))(uVar1);" (call_expression "(**(code **)(pcVar31 + 0xeb3d8))(uVar1)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb3d8))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb3d8)" * (pointer_expression "*(code **)(pcVar31 + 0xeb3d8)" * (cast_expression "(code **)(pcVar31 + 0xeb3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb3d8)" ( (binary_expression "pcVar31 + 0xeb3d8" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb00c))(uVar1);" (call_expression "(**(code **)(pcVar31 + 0xeb00c))(uVar1)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb00c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb00c)" * (pointer_expression "*(code **)(pcVar31 + 0xeb00c)" * (cast_expression "(code **)(pcVar31 + 0xeb00c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb00c)" ( (binary_expression "pcVar31 + 0xeb00c" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb688))();" (call_expression "(**(code **)(pcVar31 + 0xeb688))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb688))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb688)" * (pointer_expression "*(code **)(pcVar31 + 0xeb688)" * (cast_expression "(code **)(pcVar31 + 0xeb688)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb688)" ( (binary_expression "pcVar31 + 0xeb688" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb61c))(1);" (call_expression "(**(code **)(pcVar31 + 0xeb61c))(1)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb61c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb61c)" * (pointer_expression "*(code **)(pcVar31 + 0xeb61c)" * (cast_expression "(code **)(pcVar31 + 0xeb61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb61c)" ( (binary_expression "pcVar31 + 0xeb61c" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000644e0:\n        uVar1 = (**(code **)(pcVar31 + 0xeb158))();" statement_identifier : (expression_statement "uVar1 = (**(code **)(pcVar31 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar31 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar31 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb158)" * (pointer_expression "*(code **)(pcVar31 + 0xeb158)" * (cast_expression "(code **)(pcVar31 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb158)" ( (binary_expression "pcVar31 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))();" (assignment_expression "puVar6 = (undefined4 *)(**(code **)(pcVar31 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar31 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar31 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb814)" * (pointer_expression "*(code **)(pcVar31 + 0xeb814)" * (cast_expression "(code **)(pcVar31 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb814)" ( (binary_expression "pcVar31 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar31 + 0xeb488))(*puVar6);" (call_expression "(**(code **)(pcVar31 + 0xeb488))(*puVar6)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb488)" * (pointer_expression "*(code **)(pcVar31 + 0xeb488)" * (cast_expression "(code **)(pcVar31 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb488)" ( (binary_expression "pcVar31 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar6)" ( (pointer_expression "*puVar6" * identifier) ))) ;) (expression_statement "uVar16 = 500;" (assignment_expression "uVar16 = 500" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "(**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40);" (call_expression "(**(code **)(pcVar31 + 0xeb5d8))\n              (*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeb5d8))" ( (pointer_expression "**(code **)(pcVar31 + 0xeb5d8)" * (pointer_expression "*(code **)(pcVar31 + 0xeb5d8)" * (cast_expression "(code **)(pcVar31 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb5d8)" ( (binary_expression "pcVar31 + 0xeb5d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xeaef4) + 0x419c,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar31 + 0xeaef4) + 0x1a40)" ( (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeb5d8);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeb5d8)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeb5d8)" * (cast_expression "(code **)(pcVar31 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeb5d8)" ( (binary_expression "pcVar31 + 0xeb5d8" identifier + number_literal) ))))) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar31 + 0xeaef4) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xeaef4) + -0x954)" ( (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x954" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            );" (call_expression "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            )" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar31 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar31 + 0xeaef4) + 0x1a40\n            )" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar31 + 0xeaef4)" * (cast_expression "(int *)(pcVar31 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xeaef4)" ( (binary_expression "pcVar31 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      sVar2 = pDVar11->index;\n      while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }\n      ppDVar24 = pDVar11->graphic_context;\n      pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);\n      ppDVar23 = pDVar11->graphic_context;\n      pcVar31 = *(code **)(pcVar30 + 0xeadbc);\n      *ppDVar24 = pDVar3;\n      ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);\n      pDVar11->graphic_context = ppDVar23;\n      if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }\n      pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);\n      pDVar11->mvg = pcVar12;\n      if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }\n      pcVar31 = *(code **)(pcVar30 + 0xeabf4);\n      pDVar11->image = (Image *)0x0;\n      pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);\n      pDVar11->exception = pEVar15;\n      pcVar31 = *(code **)(pcVar30 + 0xeb000);\n      pDVar11->signature = 0x54535254;\n      (*pcVar31)(pDVar11->id);\n                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (**(code **)(pcVar30 + 0xeadbc))(pDVar11);\n      return;\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238);" (call_expression "(**(code **)(pcVar30 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeaf28))" ( (pointer_expression "**(code **)(pcVar30 + 0xeaf28)" * (pointer_expression "*(code **)(pcVar30 + 0xeaf28)" * (cast_expression "(code **)(pcVar30 + 0xeaf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeaf28)" ( (binary_expression "pcVar30 + 0xeaf28" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xeaadc) + -0x970,*(int *)(pcVar30 + 0xeaadc) + 0x1a04\n                   ,0x238)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xeaadc) + 0x1a04" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "sVar2 = pDVar11->index;" (assignment_expression "sVar2 = pDVar11->index" identifier = (field_expression "pDVar11->index" identifier -> field_identifier)) ;) (while_statement "while (sVar2 != 0) {\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }" while (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        ppDVar23 = pDVar11->graphic_context;\n        pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);\n        sVar7 = pDVar11->index;\n        ppDVar23[sVar2] = pDVar3;\n        sVar2 = sVar7 - 1;\n        pDVar11->index = sVar2;\n      }" { (expression_statement "ppDVar23 = pDVar11->graphic_context;" (assignment_expression "ppDVar23 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2]);" (assignment_expression "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2])" identifier = (cast_expression "(DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2])" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeadd8))(ppDVar23[sVar2])" (parenthesized_expression "(**(code **)(pcVar30 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar30 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar30 + 0xeadd8)" * (cast_expression "(code **)(pcVar30 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeadd8)" ( (binary_expression "pcVar30 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(ppDVar23[sVar2])" ( (subscript_expression "ppDVar23[sVar2]" identifier [ identifier ]) ))))) ;) (expression_statement "sVar7 = pDVar11->index;" (assignment_expression "sVar7 = pDVar11->index" identifier = (field_expression "pDVar11->index" identifier -> field_identifier)) ;) (expression_statement "ppDVar23[sVar2] = pDVar3;" (assignment_expression "ppDVar23[sVar2] = pDVar3" (subscript_expression "ppDVar23[sVar2]" identifier [ identifier ]) = identifier) ;) (expression_statement "sVar2 = sVar7 - 1;" (assignment_expression "sVar2 = sVar7 - 1" identifier = (binary_expression "sVar7 - 1" identifier - number_literal)) ;) (expression_statement "pDVar11->index = sVar2;" (assignment_expression "pDVar11->index = sVar2" (field_expression "pDVar11->index" identifier -> field_identifier) = identifier) ;) })) (expression_statement "ppDVar24 = pDVar11->graphic_context;" (assignment_expression "ppDVar24 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24);" (assignment_expression "pDVar3 = (DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24)" identifier = (cast_expression "(DrawInfo *)(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24)" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeadd8))(*ppDVar24)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar30 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar30 + 0xeadd8)" * (cast_expression "(code **)(pcVar30 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeadd8)" ( (binary_expression "pcVar30 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(*ppDVar24)" ( (pointer_expression "*ppDVar24" * identifier) ))))) ;) (expression_statement "ppDVar23 = pDVar11->graphic_context;" (assignment_expression "ppDVar23 = pDVar11->graphic_context" identifier = (field_expression "pDVar11->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeadbc);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeadbc)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeadbc)" * (cast_expression "(code **)(pcVar30 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeadbc)" ( (binary_expression "pcVar30 + 0xeadbc" identifier + number_literal) ))))) ;) (expression_statement "*ppDVar24 = pDVar3;" (assignment_expression "*ppDVar24 = pDVar3" (pointer_expression "*ppDVar24" * identifier) = identifier) ;) (expression_statement "ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23);" (assignment_expression "ppDVar23 = (DrawInfo **)(*pcVar31)(ppDVar23)" identifier = (cast_expression "(DrawInfo **)(*pcVar31)(ppDVar23)" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar31)(ppDVar23)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(ppDVar23)" ( identifier ))))) ;) (expression_statement "pDVar11->graphic_context = ppDVar23;" (assignment_expression "pDVar11->graphic_context = ppDVar23" (field_expression "pDVar11->graphic_context" identifier -> field_identifier) = identifier) ;) (if_statement "if (pDVar11->pattern_id != (char *)0x0) {\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }" if (parenthesized_expression "(pDVar11->pattern_id != (char *)0x0)" ( (binary_expression "pDVar11->pattern_id != (char *)0x0" (field_expression "pDVar11->pattern_id" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();\n        pDVar11->pattern_id = pcVar12;\n      }" { (expression_statement "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))();" (assignment_expression "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))()" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0xeae34))()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeae34))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar30 + 0xeae34)" * (pointer_expression "*(code **)(pcVar30 + 0xeae34)" * (cast_expression "(code **)(pcVar30 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeae34)" ( (binary_expression "pcVar30 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pDVar11->pattern_id = pcVar12;" (assignment_expression "pDVar11->pattern_id = pcVar12" (field_expression "pDVar11->pattern_id" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg);" (assignment_expression "pcVar12 = (char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg)" identifier = (cast_expression "(char *)(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar30 + 0xeae34))(pDVar11->mvg)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar30 + 0xeae34)" * (pointer_expression "*(code **)(pcVar30 + 0xeae34)" * (cast_expression "(code **)(pcVar30 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeae34)" ( (binary_expression "pcVar30 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "(pDVar11->mvg)" ( (field_expression "pDVar11->mvg" identifier -> field_identifier) ))))) ;) (expression_statement "pDVar11->mvg = pcVar12;" (assignment_expression "pDVar11->mvg = pcVar12" (field_expression "pDVar11->mvg" identifier -> field_identifier) = identifier) ;) (if_statement "if ((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)) {\n        (**(code **)(pcVar30 + 0xead84))();\n      }" if (parenthesized_expression "((pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0))" ( (binary_expression "(pDVar11->destroy != MagickFalse) && (pDVar11->image != (Image *)0x0)" (parenthesized_expression "(pDVar11->destroy != MagickFalse)" ( (binary_expression "pDVar11->destroy != MagickFalse" (field_expression "pDVar11->destroy" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(pDVar11->image != (Image *)0x0)" ( (binary_expression "pDVar11->image != (Image *)0x0" (field_expression "pDVar11->image" identifier -> field_identifier) != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xead84))();\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xead84))();" (call_expression "(**(code **)(pcVar30 + 0xead84))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xead84))" ( (pointer_expression "**(code **)(pcVar30 + 0xead84)" * (pointer_expression "*(code **)(pcVar30 + 0xead84)" * (cast_expression "(code **)(pcVar30 + 0xead84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xead84)" ( (binary_expression "pcVar30 + 0xead84" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeabf4);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeabf4)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeabf4)" * (cast_expression "(code **)(pcVar30 + 0xeabf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeabf4)" ( (binary_expression "pcVar30 + 0xeabf4" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->image = (Image *)0x0;" (assignment_expression "pDVar11->image = (Image *)0x0" (field_expression "pDVar11->image" identifier -> field_identifier) = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception);" (assignment_expression "pEVar15 = (ExceptionInfo *)(*pcVar31)(pDVar11->exception)" identifier = (cast_expression "(ExceptionInfo *)(*pcVar31)(pDVar11->exception)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar31)(pDVar11->exception)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11->exception)" ( (field_expression "pDVar11->exception" identifier -> field_identifier) ))))) ;) (expression_statement "pDVar11->exception = pEVar15;" (assignment_expression "pDVar11->exception = pEVar15" (field_expression "pDVar11->exception" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb000);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb000)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb000)" * (cast_expression "(code **)(pcVar30 + 0xeb000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb000)" ( (binary_expression "pcVar30 + 0xeb000" identifier + number_literal) ))))) ;) (expression_statement "pDVar11->signature = 0x54535254;" (assignment_expression "pDVar11->signature = 0x54535254" (field_expression "pDVar11->signature" identifier -> field_identifier) = number_literal) ;) (expression_statement "(*pcVar31)(pDVar11->id);" (call_expression "(*pcVar31)(pDVar11->id)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11->id)" ( (field_expression "pDVar11->id" identifier -> field_identifier) ))) ;) comment comment (expression_statement "(**(code **)(pcVar30 + 0xeadbc))(pDVar11);" (call_expression "(**(code **)(pcVar30 + 0xeadbc))(pDVar11)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeadbc))" ( (pointer_expression "**(code **)(pcVar30 + 0xeadbc)" * (pointer_expression "*(code **)(pcVar30 + 0xeadbc)" * (cast_expression "(code **)(pcVar30 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeadbc)" ( (binary_expression "pcVar30 + 0xeadbc" identifier + number_literal) ))))) )) (argument_list "(pDVar11)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18);" (call_expression "(**(code **)(pcVar30 + 0xeb1c0))\n              (*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeb1c0))" ( (pointer_expression "**(code **)(pcVar30 + 0xeb1c0)" * (pointer_expression "*(code **)(pcVar30 + 0xeb1c0)" * (cast_expression "(code **)(pcVar30 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb1c0)" ( (binary_expression "pcVar30 + 0xeb1c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xeaadc) + 0x419c,*(int *)(pcVar30 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar30 + 0xeaadc) + 0x1a18)" ( (binary_expression "*(int *)(pcVar30 + 0xeaadc) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeb1c0);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeb1c0)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeb1c0)" * (cast_expression "(code **)(pcVar30 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeb1c0)" ( (binary_expression "pcVar30 + 0xeb1c0" identifier + number_literal) ))))) ;) (expression_statement "affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970);" (assignment_expression "affine = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x970)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xeaadc) + -0x970)" ( (binary_expression "*(int *)(pcVar30 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xeaadc) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xeaadc) + -0x954)" ( (binary_expression "*(int *)(pcVar30 + 0xeaadc) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18);" (call_expression "(*pcVar31)(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11,affine,0x235,*(int *)(pcVar30 + 0xeaadc) + 0x1a18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar30 + 0xeaadc)" * (cast_expression "(int *)(pcVar30 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xeaadc)" ( (binary_expression "pcVar30 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (pDVar11 == (DrawingWand *)0x0) {\nLAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }" if (parenthesized_expression "(pDVar11 == (DrawingWand *)0x0)" ( (binary_expression "pDVar11 == (DrawingWand *)0x0" identifier == (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);\n  }" { (labeled_statement "LAB_00064848:\n    (**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);" statement_identifier : (expression_statement "(**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar31 + 0xeaff4))\n              (*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar31 + 0xeaff4)" * (cast_expression "(code **)(pcVar31 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaff4)" ( (binary_expression "pcVar31 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea910) + -0x954,*(int *)(pcVar31 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar31 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x954" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }" else (compound_statement "{\n    if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    pDVar10 = affine;\n    if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }\n  }" { (if_statement "if (pDVar11->signature != 0xabacadab) {\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" if (parenthesized_expression "(pDVar11->signature != 0xabacadab)" ( (binary_expression "pDVar11->signature != 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" { (expression_statement "(**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar31 + 0xeaff4))\n                (*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar31 + 0xeaff4)" * (cast_expression "(code **)(pcVar31 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaff4)" ( (binary_expression "pcVar31 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea910) + 0x419c,*(int *)(pcVar31 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar31 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar31 + 0xea910) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00064848;" goto statement_identifier ;) })) (if_statement "if (pDVar11->debug != MagickFalse) {\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" { (expression_statement "(**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a);" (call_expression "(**(code **)(pcVar31 + 0xead5c))\n                (0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a)" (parenthesized_expression "(**(code **)(pcVar31 + 0xead5c))" ( (pointer_expression "**(code **)(pcVar31 + 0xead5c)" * (pointer_expression "*(code **)(pcVar31 + 0xead5c)" * (cast_expression "(code **)(pcVar31 + 0xead5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xead5c)" ( (binary_expression "pcVar31 + 0xead5c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xea910) + -0x970,*(int *)(pcVar31 + 0xea910) + 0x19ec,\n                 0x26a)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea910) + 0x19ec" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pDVar10 = affine;" (assignment_expression "pDVar10 = affine" identifier = identifier) ;) (if_statement "if (affine != (DrawingWand *)0x0) {\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }" if (parenthesized_expression "(affine != (DrawingWand *)0x0)" ( (binary_expression "affine != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      AdjustAffine(pDVar11,(AffineMatrix *)affine);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);\n      return;\n    }" { (expression_statement "AdjustAffine(pDVar11,(AffineMatrix *)affine);" (call_expression "AdjustAffine(pDVar11,(AffineMatrix *)affine)" identifier (argument_list "(pDVar11,(AffineMatrix *)affine)" ( identifier , (cast_expression "(AffineMatrix *)affine" ( (type_descriptor "AffineMatrix *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc),affine->id,\n                *(undefined4 *)affine->name)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar31 + 0xea910) + -0x7dc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea910) + -0x7dc)" ( (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x7dc" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) ))) , (field_expression "affine->id" identifier -> field_identifier) , (pointer_expression "*(undefined4 *)affine->name" * (cast_expression "(undefined4 *)affine->name" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "affine->name" identifier -> field_identifier))) ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "uVar1 = 0x26b;" (assignment_expression "uVar1 = 0x26b" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeaff4);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeaff4)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeaff4)" * (cast_expression "(code **)(pcVar31 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaff4)" ( (binary_expression "pcVar31 + 0xeaff4" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8;" (assignment_expression "iVar14 = *(int *)(pcVar31 + 0xea910) + 0x19f8" identifier = (binary_expression "*(int *)(pcVar31 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar31 + 0xea910) + -0x804)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea910) + -0x804)" ( (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x804" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970);" (call_expression "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar31 + 0xea910) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea910)" * (cast_expression "(int *)(pcVar31 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea910)" ( (binary_expression "pcVar31 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pPVar32 = (PointInfo *)(pcVar30 + 0xf2770);" (assignment_expression "pPVar32 = (PointInfo *)(pcVar30 + 0xf2770)" identifier = (cast_expression "(PointInfo *)(pcVar30 + 0xf2770)" ( (type_descriptor "PointInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xf2770)" ( (binary_expression "pcVar30 + 0xf2770" identifier + number_literal) )))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }\n      (*pcVar31)(0x2f,uStack_11f0);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);\n      return;\n    }" { (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xea8d8);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xea8d8)" * (cast_expression "(code **)(pcVar30 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea8d8)" ( (binary_expression "pcVar30 + 0xea8d8" identifier + number_literal) ))))) ;) (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar31 = *(code **)(pcVar30 + 0xea8d8);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c);" (call_expression "(**(code **)(pcVar30 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeabf8))" ( (pointer_expression "**(code **)(pcVar30 + 0xeabf8)" * (pointer_expression "*(code **)(pcVar30 + 0xeabf8)" * (cast_expression "(code **)(pcVar30 + 0xeabf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeabf8)" ( (binary_expression "pcVar30 + 0xeabf8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xea7ac) + -0x970,*(int *)(pcVar30 + 0xea7ac) + 0x199c\n                   ,0x29c)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea7ac) + 0x199c" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xea8d8);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xea8d8)" * (cast_expression "(code **)(pcVar30 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea8d8)" ( (binary_expression "pcVar30 + 0xea8d8" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar31)(0x2f,uStack_11f0);" (call_expression "(*pcVar31)(0x2f,uStack_11f0)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(0x2f,uStack_11f0)" ( number_literal , identifier ))) ;) (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0),uVar1,iVar14)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xea7ac) + -0x7b0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea7ac) + -0x7b0)" ( (binary_expression "*(int *)(pcVar30 + 0xea7ac) + -0x7b0" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8);" (call_expression "(**(code **)(pcVar30 + 0xeae90))\n              (*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeae90))" ( (pointer_expression "**(code **)(pcVar30 + 0xeae90)" * (pointer_expression "*(code **)(pcVar30 + 0xeae90)" * (cast_expression "(code **)(pcVar30 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeae90)" ( (binary_expression "pcVar30 + 0xeae90" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xea7ac) + 0x419c,*(int *)(pcVar30 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar30 + 0xea7ac) + 0x19a8)" ( (binary_expression "*(int *)(pcVar30 + 0xea7ac) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x299;" (assignment_expression "uVar1 = 0x299" identifier = number_literal) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeae90);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeae90)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeae90)" * (cast_expression "(code **)(pcVar30 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeae90)" ( (binary_expression "pcVar30 + 0xeae90" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8;" (assignment_expression "iVar14 = *(int *)(pcVar30 + 0xea7ac) + 0x19a8" identifier = (binary_expression "*(int *)(pcVar30 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xea7ac) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea7ac) + -0x954)" ( (binary_expression "*(int *)(pcVar30 + 0xea7ac) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970);" (call_expression "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar30 + 0xea7ac) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar30 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea7ac)" * (cast_expression "(int *)(pcVar30 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea7ac)" ( (binary_expression "pcVar30 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }\n      (**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7);" (call_expression "(**(code **)(pcVar31 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaac8))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaac8)" * (pointer_expression "*(code **)(pcVar31 + 0xeaac8)" * (cast_expression "(code **)(pcVar31 + 0xeaac8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaac8)" ( (binary_expression "pcVar31 + 0xeaac8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xea67c) + -0x970,*(int *)(pcVar31 + 0xea67c) + 0x197c\n                   ,0x2c7)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea67c) + 0x197c" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }" if (parenthesized_expression "(pPVar32 != (PointInfo *)0x0)" ( (binary_expression "pPVar32 != (PointInfo *)0x0" identifier != (cast_expression "(PointInfo *)0x0" ( (type_descriptor "PointInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);\n        if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }\n        return;\n      }" { (expression_statement "iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27);" (assignment_expression "iVar8 = (**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27)" identifier = (call_expression "(**(code **)(pcVar31 + 0xeaf14))(pPVar32,0x27)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaf14))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaf14)" * (pointer_expression "*(code **)(pcVar31 + 0xeaf14)" * (cast_expression "(code **)(pcVar31 + 0xeaf14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaf14)" ( (binary_expression "pcVar31 + 0xeaf14" identifier + number_literal) ))))) )) (argument_list "(pPVar32,0x27)" ( identifier , number_literal )))) ;) (if_statement "if (iVar8 != 0) {\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);\n                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          (**(code **)(pcVar31 + 0xea9d4))(iVar8);\n          return;\n        }" { (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770),uVar1,iVar14)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar31 + 0xea67c) + -0x770)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea67c) + -0x770)" ( (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x770" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) comment comment (expression_statement "(**(code **)(pcVar31 + 0xea9d4))(iVar8);" (call_expression "(**(code **)(pcVar31 + 0xea9d4))(iVar8)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea9d4))" ( (pointer_expression "**(code **)(pcVar31 + 0xea9d4)" * (pointer_expression "*(code **)(pcVar31 + 0xea9d4)" * (cast_expression "(code **)(pcVar31 + 0xea9d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea9d4)" ( (binary_expression "pcVar31 + 0xea9d4" identifier + number_literal) ))))) )) (argument_list "(iVar8)" ( identifier ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar31 + 0xead60))\n                (*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar31 + 0xead60))" ( (pointer_expression "**(code **)(pcVar31 + 0xead60)" * (pointer_expression "*(code **)(pcVar31 + 0xead60)" * (cast_expression "(code **)(pcVar31 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xead60)" ( (binary_expression "pcVar31 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea67c) + -0x798,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar31 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x798" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar31 + 0xead60))\n              (*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar31 + 0xead60))" ( (pointer_expression "**(code **)(pcVar31 + 0xead60)" * (pointer_expression "*(code **)(pcVar31 + 0xead60)" * (cast_expression "(code **)(pcVar31 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xead60)" ( (binary_expression "pcVar31 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea67c) + 0x419c,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar31 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar31 + 0xea67c) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x2c4;" (assignment_expression "uVar1 = 0x2c4" identifier = number_literal) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xead60);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xead60)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xead60)" * (cast_expression "(code **)(pcVar31 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xead60)" ( (binary_expression "pcVar31 + 0xead60" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c;" (assignment_expression "iVar14 = *(int *)(pcVar31 + 0xea67c) + 0x198c" identifier = (binary_expression "*(int *)(pcVar31 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar31 + 0xea67c) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea67c) + -0x954)" ( (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x954" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14);" (call_expression "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar31 + 0xea67c) + -0x970,0x2c4,iVar14)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea67c)" * (cast_expression "(int *)(pcVar31 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea67c)" ( (binary_expression "pcVar31 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);\n      return;\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb);" (call_expression "(**(code **)(pcVar30 + 0xea93c))\n                  (0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea93c))" ( (pointer_expression "**(code **)(pcVar30 + 0xea93c)" * (pointer_expression "*(code **)(pcVar30 + 0xea93c)" * (cast_expression "(code **)(pcVar30 + 0xea93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea93c)" ( (binary_expression "pcVar30 + 0xea93c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xea4f0) + -0x970,*(int *)(pcVar30 + 0xea4f0) + 0x196c\n                   ,0x2fb)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea4f0) + 0x196c" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758),uVar1,iVar14)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xea4f0) + -0x758)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea4f0) + -0x758)" ( (binary_expression "*(int *)(pcVar30 + 0xea4f0) + -0x758" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974);" (call_expression "(**(code **)(pcVar30 + 0xeabd4))\n              (*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974)" (parenthesized_expression "(**(code **)(pcVar30 + 0xeabd4))" ( (pointer_expression "**(code **)(pcVar30 + 0xeabd4)" * (pointer_expression "*(code **)(pcVar30 + 0xeabd4)" * (cast_expression "(code **)(pcVar30 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeabd4)" ( (binary_expression "pcVar30 + 0xeabd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xea4f0) + 0x419c,*(int *)(pcVar30 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar30 + 0xea4f0) + 0x1974)" ( (binary_expression "*(int *)(pcVar30 + 0xea4f0) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xea4f0) + 0x1974" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "coordinates = (PointInfo *)0x2f8;" (assignment_expression "coordinates = (PointInfo *)0x2f8" identifier = (cast_expression "(PointInfo *)0x2f8" ( (type_descriptor "PointInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xeabd4);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xeabd4)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xeabd4)" * (cast_expression "(code **)(pcVar30 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xeabd4)" ( (binary_expression "pcVar30 + 0xeabd4" identifier + number_literal) ))))) ;) (expression_statement "number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970);" (assignment_expression "number_coordinates = (undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970)" identifier = (cast_expression "(undefined1 *)(*(int *)(pcVar30 + 0xea4f0) - 0x970)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea4f0) - 0x970)" ( (binary_expression "*(int *)(pcVar30 + 0xea4f0) - 0x970" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xea4f0) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea4f0) + -0x954)" ( (binary_expression "*(int *)(pcVar30 + 0xea4f0) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xea4f0)" * (cast_expression "(int *)(pcVar30 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea4f0)" ( (binary_expression "pcVar30 + 0xea4f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)();" (call_expression "(*pcVar31)()" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    pDVar10 = pDVar11;\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }\n    (**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pDVar10 = pDVar11;\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }\n    (**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);\n  }" { (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }\n      pPVar32 = coordinates;\n      puVar25 = number_coordinates;\n      if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }\n      goto LAB_00064d9c;\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321);" (call_expression "(**(code **)(pcVar31 + 0xea7f4))\n                  (0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea7f4))" ( (pointer_expression "**(code **)(pcVar31 + 0xea7f4)" * (pointer_expression "*(code **)(pcVar31 + 0xea7f4)" * (cast_expression "(code **)(pcVar31 + 0xea7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea7f4)" ( (binary_expression "pcVar31 + 0xea7f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xea3a8) + -0x970,*(int *)(pcVar31 + 0xea3a8) + 0x1954\n                   ,0x321)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + 0x1954" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pPVar32 = coordinates;" (assignment_expression "pPVar32 = coordinates" identifier = identifier) ;) (expression_statement "puVar25 = number_coordinates;" (assignment_expression "puVar25 = number_coordinates" identifier = identifier) ;) (if_statement "if (coordinates != (PointInfo *)0x0) {\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }" if (parenthesized_expression "(coordinates != (PointInfo *)0x0)" ( (binary_expression "coordinates != (PointInfo *)0x0" identifier != (cast_expression "(PointInfo *)0x0" ( (type_descriptor "PointInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);\n        return;\n      }" { (expression_statement "MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates);" (call_expression "MVGAppendPointsCommand\n                  (pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704),(size_t)number_coordinates\n                   ,coordinates)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar31 + 0xea3a8) + -0x704)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea3a8) + -0x704)" ( (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x704" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) , (cast_expression "(size_t)number_coordinates" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_00064d9c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar31 + 0xeaa8c))\n              (*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar31 + 0xeaa8c)" * (cast_expression "(code **)(pcVar31 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaa8c)" ( (binary_expression "pcVar31 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea3a8) + 0x419c,*(int *)(pcVar31 + 0xea3a8) + -0x970,799,\n               *(int *)(pcVar31 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar31 + 0xea3a8) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar31 + 0xeaa8c))\n            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar31 + 0xeaa8c))\n            (*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar31 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar31 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar31 + 0xeaa8c)" * (cast_expression "(code **)(pcVar31 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaa8c)" ( (binary_expression "pcVar31 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea3a8) + -0x954,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x31e,\n             *(int *)(pcVar31 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x954" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_00064d9c:\n  uVar1 = 0x322;" statement_identifier : (expression_statement "uVar1 = 0x322;" (assignment_expression "uVar1 = 0x322" identifier = number_literal) ;)) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xeaa8c);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xeaa8c)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xeaa8c)" * (cast_expression "(code **)(pcVar31 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xeaa8c)" ( (binary_expression "pcVar31 + 0xeaa8c" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960;" (assignment_expression "iVar14 = *(int *)(pcVar31 + 0xea3a8) + 0x1960" identifier = (binary_expression "*(int *)(pcVar31 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar31 + 0xea3a8) + -0x72c)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xea3a8) + -0x72c)" ( (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x72c" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14);" (call_expression "(*pcVar30)(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar31 + 0xea3a8) + -0x970,0x322,iVar14)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea3a8)" * (cast_expression "(int *)(pcVar31 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea3a8)" ( (binary_expression "pcVar31 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }\n    (**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);\n      return;\n    }" { (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b);" (call_expression "(**(code **)(pcVar30 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar30 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar30 + 0xea6c8)" * (cast_expression "(code **)(pcVar30 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea6c8)" ( (binary_expression "pcVar30 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xea27c) + -0x970,*(int *)(pcVar30 + 0xea27c) + 0x1928\n                   ,0x34b)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea27c) + 0x1928" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc),uVar1,iVar14)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xea27c) + -0x6fc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea27c) + -0x6fc)" ( (binary_expression "*(int *)(pcVar30 + 0xea27c) + -0x6fc" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934);" (call_expression "(**(code **)(pcVar30 + 0xea960))\n              (*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea960))" ( (pointer_expression "**(code **)(pcVar30 + 0xea960)" * (pointer_expression "*(code **)(pcVar30 + 0xea960)" * (cast_expression "(code **)(pcVar30 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea960)" ( (binary_expression "pcVar30 + 0xea960" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xea27c) + 0x419c,*(int *)(pcVar30 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar30 + 0xea27c) + 0x1934)" ( (binary_expression "*(int *)(pcVar30 + 0xea27c) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xea960);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xea960)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xea960)" * (cast_expression "(code **)(pcVar30 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea960)" ( (binary_expression "pcVar30 + 0xea960" identifier + number_literal) ))))) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xea27c) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea27c) + -0x954)" ( (binary_expression "*(int *)(pcVar30 + 0xea27c) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            );" (call_expression "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            )" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar30 + 0xea27c) + -0x970,0x348,*(int *)(pcVar30 + 0xea27c) + 0x1934\n            )" ( identifier , (binary_expression "*(int *)(pcVar30 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar30 + 0xea27c)" * (cast_expression "(int *)(pcVar30 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea27c)" ( (binary_expression "pcVar30 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);\n    pDVar10 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);\n    pDVar10 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }\n      (*pcVar30)(pDVar11->exception);\n      return;\n    }" { (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea4ec);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea4ec)" * (cast_expression "(code **)(pcVar31 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea4ec)" ( (binary_expression "pcVar31 + 0xea4ec" identifier + number_literal) ))))) ;) (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar30 = *(code **)(pcVar31 + 0xea4ec);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a);" (call_expression "(**(code **)(pcVar31 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea5a0))" ( (pointer_expression "**(code **)(pcVar31 + 0xea5a0)" * (pointer_expression "*(code **)(pcVar31 + 0xea5a0)" * (cast_expression "(code **)(pcVar31 + 0xea5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea5a0)" ( (binary_expression "pcVar31 + 0xea5a0" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xea154) + -0x970,*(int *)(pcVar31 + 0xea154) + 0x1900\n                   ,0x36a)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea154) + 0x1900" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea4ec);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea4ec)" * (cast_expression "(code **)(pcVar31 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea4ec)" ( (binary_expression "pcVar31 + 0xea4ec" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar30)(pDVar11->exception);" (call_expression "(*pcVar30)(pDVar11->exception)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar11->exception)" ( (field_expression "pDVar11->exception" identifier -> field_identifier) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914);" (call_expression "(**(code **)(pcVar31 + 0xea838))\n              (*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea838))" ( (pointer_expression "**(code **)(pcVar31 + 0xea838)" * (pointer_expression "*(code **)(pcVar31 + 0xea838)" * (cast_expression "(code **)(pcVar31 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea838)" ( (binary_expression "pcVar31 + 0xea838" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xea154) + 0x419c,*(int *)(pcVar31 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar31 + 0xea154) + 0x1914)" ( (binary_expression "*(int *)(pcVar31 + 0xea154) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDVar10 = pDVar11;" (assignment_expression "pDVar10 = pDVar11" identifier = identifier) ;) })) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea838);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea838)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea838)" * (cast_expression "(code **)(pcVar31 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea838)" ( (binary_expression "pcVar31 + 0xea838" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954;" (assignment_expression "iVar14 = *(int *)(pcVar31 + 0xea154) + -0x954" identifier = (binary_expression "*(int *)(pcVar31 + 0xea154) + -0x954" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)\n  ;" (call_expression "(*pcVar30)(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(iVar14,*(int *)(pcVar31 + 0xea154) + -0x970,0x367,*(int *)(pcVar31 + 0xea154) + 0x1914)" ( identifier , (binary_expression "*(int *)(pcVar31 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar31 + 0xea154)" * (cast_expression "(int *)(pcVar31 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xea154)" ( (binary_expression "pcVar31 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar14 == 0) {\n    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );\n  }\n  else {\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );\n  }" { (expression_statement "iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8;" (assignment_expression "iVar8 = *(int *)(pcVar30 + 0xea074) + 0x18e8" identifier = (binary_expression "*(int *)(pcVar30 + 0xea074) + 0x18e8" (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              );" (call_expression "(**(code **)(pcVar30 + 0xea758))\n              (*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              )" (parenthesized_expression "(**(code **)(pcVar30 + 0xea758))" ( (pointer_expression "**(code **)(pcVar30 + 0xea758)" * (pointer_expression "*(code **)(pcVar30 + 0xea758)" * (cast_expression "(code **)(pcVar30 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea758)" ( (binary_expression "pcVar30 + 0xea758" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xea074) + -0x954,*(int *)(pcVar30 + 0xea074) + -0x970,0x387,iVar8\n              )" ( (binary_expression "*(int *)(pcVar30 + 0xea074) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }" else (compound_statement "{\n    iVar8 = *(int *)(pcVar30 + 0xea074);\n    if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }\n  }" { (expression_statement "iVar8 = *(int *)(pcVar30 + 0xea074);" (assignment_expression "iVar8 = *(int *)(pcVar30 + 0xea074)" identifier = (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar14 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(*(int *)(iVar14 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar14 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar14 + 0x1054)" * (cast_expression "(int *)(iVar14 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x1054)" ( (binary_expression "iVar14 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }\n      return;\n    }" { (if_statement "if (*(int *)(&DAT_00001008 + iVar14) != 0) {\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }" if (parenthesized_expression "(*(int *)(&DAT_00001008 + iVar14) != 0)" ( (binary_expression "*(int *)(&DAT_00001008 + iVar14) != 0" (pointer_expression "*(int *)(&DAT_00001008 + iVar14)" * (cast_expression "(int *)(&DAT_00001008 + iVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar14)" ( (binary_expression "&DAT_00001008 + iVar14" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        (**(code **)(pcVar30 + 0xea928))();\n        return;\n      }" { comment comment (expression_statement "(**(code **)(pcVar30 + 0xea928))();" (call_expression "(**(code **)(pcVar30 + 0xea928))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xea928))" ( (pointer_expression "**(code **)(pcVar30 + 0xea928)" * (pointer_expression "*(code **)(pcVar30 + 0xea928)" * (cast_expression "(code **)(pcVar30 + 0xea928)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea928)" ( (binary_expression "pcVar30 + 0xea928" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) }))) (expression_statement "uVar1 = 0x388;" (assignment_expression "uVar1 = 0x388" identifier = number_literal) ;) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xea758);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xea758)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xea758)" * (cast_expression "(code **)(pcVar30 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea758)" ( (binary_expression "pcVar30 + 0xea758" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + 0x18e8;" (assignment_expression "iVar8 = iVar8 + 0x18e8" identifier = (binary_expression "iVar8 + 0x18e8" identifier + number_literal)) ;) (expression_statement "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c);" (assignment_expression "pDVar11 = (DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xea074) + 0x419c)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xea074) + 0x419c)" ( (binary_expression "*(int *)(pcVar30 + 0xea074) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8);" (call_expression "(*pcVar31)(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar11,*(int *)(pcVar30 + 0xea074) + -0x970,0x388,iVar8)" ( identifier , (binary_expression "*(int *)(pcVar30 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xea074)" * (cast_expression "(int *)(pcVar30 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xea074)" ( (binary_expression "pcVar30 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "pDStack_1418 = pDVar10;" (assignment_expression "pDStack_1418 = pDVar10" identifier = identifier) ;) (if_statement "if (pDVar11 != (DrawingWand *)0x0) {\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);\n    pDStack_1418 = pDVar11;\n  }" if (parenthesized_expression "(pDVar11 != (DrawingWand *)0x0)" ( (binary_expression "pDVar11 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }\n    (**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);\n    pDStack_1418 = pDVar11;\n  }" { (if_statement "if (pDVar11->signature == 0xabacadab) {\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }" if (parenthesized_expression "(pDVar11->signature == 0xabacadab)" ( (binary_expression "pDVar11->signature == 0xabacadab" (field_expression "pDVar11->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      pcVar30 = *(code **)(pcVar31 + 0xea108);\n      if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }\n      (*pcVar30)(0x2f,uStack_1390);\n      MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);\n      return;\n    }" { (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea108);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea108)" * (cast_expression "(code **)(pcVar31 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea108)" ( (binary_expression "pcVar31 + 0xea108" identifier + number_literal) ))))) ;) (if_statement "if (pDVar11->debug != MagickFalse) {\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }" if (parenthesized_expression "(pDVar11->debug != MagickFalse)" ( (binary_expression "pDVar11->debug != MagickFalse" (field_expression "pDVar11->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar30 = *(code **)(pcVar31 + 0xea108);\n      }" { (expression_statement "(**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);" (call_expression "(**(code **)(pcVar31 + 0xea428))\n                  (0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea428))" ( (pointer_expression "**(code **)(pcVar31 + 0xea428)" * (pointer_expression "*(code **)(pcVar31 + 0xea428)" * (cast_expression "(code **)(pcVar31 + 0xea428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea428)" ( (binary_expression "pcVar31 + 0xea428" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar31 + 0xe9fdc) + -0x970,*(int *)(pcVar31 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" ( number_literal , (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + 0x18d0" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea108);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea108)" * (cast_expression "(code **)(pcVar31 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea108)" ( (binary_expression "pcVar31 + 0xea108" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar30)(0x2f,uStack_1390);" (call_expression "(*pcVar30)(0x2f,uStack_1390)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(0x2f,uStack_1390)" ( number_literal , identifier ))) ;) (expression_statement "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8);" (call_expression "MVGPrintf(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8)" identifier (argument_list "(pDVar11,(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0),uVar1,iVar8)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xe9fdc) + -0x6c0)" ( (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + -0x6c0" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc);" (call_expression "(**(code **)(pcVar31 + 0xea6c0))\n              (*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc)" (parenthesized_expression "(**(code **)(pcVar31 + 0xea6c0))" ( (pointer_expression "**(code **)(pcVar31 + 0xea6c0)" * (pointer_expression "*(code **)(pcVar31 + 0xea6c0)" * (cast_expression "(code **)(pcVar31 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea6c0)" ( (binary_expression "pcVar31 + 0xea6c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar31 + 0xe9fdc) + 0x419c,*(int *)(pcVar31 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar31 + 0xe9fdc) + 0x18dc)" ( (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + 0x419c" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + 0x18dc" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pDStack_1418 = pDVar11;" (assignment_expression "pDStack_1418 = pDVar11" identifier = identifier) ;) })) (expression_statement "pcVar30 = *(code **)(pcVar31 + 0xea6c0);" (assignment_expression "pcVar30 = *(code **)(pcVar31 + 0xea6c0)" identifier = (pointer_expression "*(code **)(pcVar31 + 0xea6c0)" * (cast_expression "(code **)(pcVar31 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar31 + 0xea6c0)" ( (binary_expression "pcVar31 + 0xea6c0" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970;" (assignment_expression "iVar14 = *(int *)(pcVar31 + 0xe9fdc) + -0x970" identifier = (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc);" (assignment_expression "pDVar10 = (DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xe9fdc) + -0x6dc)" ( (binary_expression "*(int *)(pcVar31 + 0xe9fdc) + -0x6dc" (pointer_expression "*(int *)(pcVar31 + 0xe9fdc)" * (cast_expression "(int *)(pcVar31 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9fdc)" ( (binary_expression "pcVar31 + 0xe9fdc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar30)(pDVar10,iVar14);" (call_expression "(*pcVar30)(pDVar10,iVar14)" (parenthesized_expression "(*pcVar30)" ( (pointer_expression "*pcVar30" * identifier) )) (argument_list "(pDVar10,iVar14)" ( identifier , identifier ))) ;) (expression_statement "piVar26 = *(int **)(pcVar30 + 0xea33c);" (assignment_expression "piVar26 = *(int **)(pcVar30 + 0xea33c)" identifier = (pointer_expression "*(int **)(pcVar30 + 0xea33c)" * (cast_expression "(int **)(pcVar30 + 0xea33c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea33c)" ( (binary_expression "pcVar30 + 0xea33c" identifier + number_literal) ))))) ;) (expression_statement "iStack_141c = *piVar26;" (assignment_expression "iStack_141c = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "puStack_1410 = puVar25;" (assignment_expression "puStack_1410 = puVar25" identifier = identifier) ;) (expression_statement "piStack_140c = piVar27;" (assignment_expression "piStack_140c = piVar27" identifier = identifier) ;) (expression_statement "pDStack_1408 = wand_00;" (assignment_expression "pDStack_1408 = wand_00" identifier = identifier) ;) (if_statement "if (pDVar10 != (DrawingWand *)0x0) {\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }\n    (**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  }" if (parenthesized_expression "(pDVar10 != (DrawingWand *)0x0)" ( (binary_expression "pDVar10 != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }\n    (**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n  }" { (if_statement "if (pDVar10->signature == 0xabacadab) {\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }" if (parenthesized_expression "(pDVar10->signature == 0xabacadab)" ( (binary_expression "pDVar10->signature == 0xabacadab" (field_expression "pDVar10->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }\n      if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }\n      (**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);\n    }" { (if_statement "if (pDVar10->debug != MagickFalse) {\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }" if (parenthesized_expression "(pDVar10->debug != MagickFalse)" ( (binary_expression "pDVar10->debug != MagickFalse" (field_expression "pDVar10->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);\n      }" { (expression_statement "(**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name);" (call_expression "(**(code **)(pcVar30 + 0xea2f8))\n                  (0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea2f8))" ( (pointer_expression "**(code **)(pcVar30 + 0xea2f8)" * (pointer_expression "*(code **)(pcVar30 + 0xea2f8)" * (cast_expression "(code **)(pcVar30 + 0xea2f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea2f8)" ( (binary_expression "pcVar30 + 0xea2f8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar30 + 0xe9eac) + -0x970,*(int *)(pcVar30 + 0xe9eac) + 0x18b0\n                   ,0x408,*(int *)(pcVar30 + 0xe9ea0) + -0x131c,pDVar10->name)" ( number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9ea0) + -0x131c" (pointer_expression "*(int *)(pcVar30 + 0xe9ea0)" * (cast_expression "(int *)(pcVar30 + 0xe9ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9ea0)" ( (binary_expression "pcVar30 + 0xe9ea0" identifier + number_literal) )))) + number_literal) , (field_expression "pDVar10->name" identifier -> field_identifier) ))) ;) })) (if_statement "if (pPVar32 != (PointInfo *)0x0) {\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }" if (parenthesized_expression "(pPVar32 != (PointInfo *)0x0)" ( (binary_expression "pPVar32 != (PointInfo *)0x0" identifier != (cast_expression "(PointInfo *)0x0" ( (type_descriptor "PointInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);\n        if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }\n        if (iStack_141c == *piVar26) {\n          return;\n        }\n        (**(code **)(pcVar30 + 0xea1fc))();\n      }" { (expression_statement "iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32);" (assignment_expression "iVar8 = (**(code **)(pcVar30 + 0xea19c))(pPVar32)" identifier = (call_expression "(**(code **)(pcVar30 + 0xea19c))(pPVar32)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea19c))" ( (pointer_expression "**(code **)(pcVar30 + 0xea19c)" * (pointer_expression "*(code **)(pcVar30 + 0xea19c)" * (cast_expression "(code **)(pcVar30 + 0xea19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea19c)" ( (binary_expression "pcVar30 + 0xea19c" identifier + number_literal) ))))) )) (argument_list "(pPVar32)" ( identifier )))) ;) (if_statement "if ((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))\n        {\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }" if (parenthesized_expression "((iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0))" ( (binary_expression "(iVar8 != 0) &&\n           (iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0)" (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0)" ( (comma_expression "iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception), iVar28 != 0" (assignment_expression "iVar28 = (**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception)" identifier = (call_expression "(**(code **)(pcVar30 + 0xea6c4))(iVar8,0,0,1,pDVar10->exception)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea6c4))" ( (pointer_expression "**(code **)(pcVar30 + 0xea6c4)" * (pointer_expression "*(code **)(pcVar30 + 0xea6c4)" * (cast_expression "(code **)(pcVar30 + 0xea6c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea6c4)" ( (binary_expression "pcVar30 + 0xea6c4" identifier + number_literal) ))))) )) (argument_list "(iVar8,0,0,1,pDVar10->exception)" ( identifier , number_literal , number_literal , number_literal , (field_expression "pDVar10->exception" identifier -> field_identifier) )))) , (binary_expression "iVar28 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          iVar9 = (**(code **)(pcVar30 + 0xea2e4))();\n          (**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);\n          uStack_2424 = 0x800;\n          iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);\n          (**(code **)(pcVar30 + 0xea574))(iVar9);\n          (**(code **)(pcVar30 + 0xea500))(iVar28);\n          if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }\n        }" { (expression_statement "iVar9 = (**(code **)(pcVar30 + 0xea2e4))();" (assignment_expression "iVar9 = (**(code **)(pcVar30 + 0xea2e4))()" identifier = (call_expression "(**(code **)(pcVar30 + 0xea2e4))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xea2e4))" ( (pointer_expression "**(code **)(pcVar30 + 0xea2e4)" * (pointer_expression "*(code **)(pcVar30 + 0xea2e4)" * (cast_expression "(code **)(pcVar30 + 0xea2e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea2e4)" ( (binary_expression "pcVar30 + 0xea2e4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000);" (call_expression "(**(code **)(pcVar30 + 0xea6c8))\n                    (iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar30 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar30 + 0xea6c8)" * (cast_expression "(code **)(pcVar30 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea6c8)" ( (binary_expression "pcVar30 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x210,*(int *)(pcVar30 + 0xe9eac) + -0x684,0x1000)" ( (binary_expression "iVar9 + 0x210" identifier + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x684" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uStack_2424 = 0x800;" (assignment_expression "uStack_2424 = 0x800" identifier = number_literal) ;) (expression_statement "iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception);" (assignment_expression "iVar17 = (**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception)" identifier = (call_expression "(**(code **)(pcVar30 + 0xea4bc))(iVar9,iVar28,&uStack_2424,pDVar10->exception)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea4bc))" ( (pointer_expression "**(code **)(pcVar30 + 0xea4bc)" * (pointer_expression "*(code **)(pcVar30 + 0xea4bc)" * (cast_expression "(code **)(pcVar30 + 0xea4bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea4bc)" ( (binary_expression "pcVar30 + 0xea4bc" identifier + number_literal) ))))) )) (argument_list "(iVar9,iVar28,&uStack_2424,pDVar10->exception)" ( identifier , identifier , (pointer_expression "&uStack_2424" & identifier) , (field_expression "pDVar10->exception" identifier -> field_identifier) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea574))(iVar9);" (call_expression "(**(code **)(pcVar30 + 0xea574))(iVar9)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea574))" ( (pointer_expression "**(code **)(pcVar30 + 0xea574)" * (pointer_expression "*(code **)(pcVar30 + 0xea574)" * (cast_expression "(code **)(pcVar30 + 0xea574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea574)" ( (binary_expression "pcVar30 + 0xea574" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea500))(iVar28);" (call_expression "(**(code **)(pcVar30 + 0xea500))(iVar28)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea500))" ( (pointer_expression "**(code **)(pcVar30 + 0xea500)" * (pointer_expression "*(code **)(pcVar30 + 0xea500)" * (cast_expression "(code **)(pcVar30 + 0xea500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea500)" ( (binary_expression "pcVar30 + 0xea500" identifier + number_literal) ))))) )) (argument_list "(iVar28)" ( identifier ))) ;) (if_statement "if (iVar17 != 0) {\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n            iStack_2420 = 0;\n            iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);\n            (**(code **)(pcVar30 + 0xea18c))(iVar17);\n            if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }\n          }" { (expression_statement "iStack_2420 = 0;" (assignment_expression "iStack_2420 = 0" identifier = number_literal) ;) (expression_statement "iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420);" (assignment_expression "iVar28 = (**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420)" identifier = (call_expression "(**(code **)(pcVar30 + 0xea030))(iVar17,uStack_2424,&iStack_2420)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea030))" ( (pointer_expression "**(code **)(pcVar30 + 0xea030)" * (pointer_expression "*(code **)(pcVar30 + 0xea030)" * (cast_expression "(code **)(pcVar30 + 0xea030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea030)" ( (binary_expression "pcVar30 + 0xea030" identifier + number_literal) ))))) )) (argument_list "(iVar17,uStack_2424,&iStack_2420)" ( identifier , identifier , (pointer_expression "&iStack_2420" & identifier) )))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea18c))(iVar17);" (call_expression "(**(code **)(pcVar30 + 0xea18c))(iVar17)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea18c))" ( (pointer_expression "**(code **)(pcVar30 + 0xea18c)" * (pointer_expression "*(code **)(pcVar30 + 0xea18c)" * (cast_expression "(code **)(pcVar30 + 0xea18c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea18c)" ( (binary_expression "pcVar30 + 0xea18c" identifier + number_literal) ))))) )) (argument_list "(iVar17)" ( identifier ))) ;) (if_statement "if (iVar28 == 0) {\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }\n            else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }" if (parenthesized_expression "(iVar28 == 0)" ( (binary_expression "iVar28 == 0" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);\n              (**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);\n            }" { (expression_statement "(**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c);" (call_expression "(**(code **)(pcVar30 + 0xe9ff0))\n                        (auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c)" (parenthesized_expression "(**(code **)(pcVar30 + 0xe9ff0))" ( (pointer_expression "**(code **)(pcVar30 + 0xe9ff0)" * (pointer_expression "*(code **)(pcVar30 + 0xe9ff0)" * (cast_expression "(code **)(pcVar30 + 0xe9ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xe9ff0)" ( (binary_expression "pcVar30 + 0xe9ff0" identifier + number_literal) ))))) )) (argument_list "(auStack_241c,0x1000,*(int *)(pcVar30 + 0xe9eac) + -0x67c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x67c" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name);" (call_expression "(**(code **)(pcVar30 + 0xea12c))\n                        (pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea12c))" ( (pointer_expression "**(code **)(pcVar30 + 0xea12c)" * (pointer_expression "*(code **)(pcVar30 + 0xea12c)" * (cast_expression "(code **)(pcVar30 + 0xea12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea12c)" ( (binary_expression "pcVar30 + 0xea12c" identifier + number_literal) ))))) )) (argument_list "(pDVar10->exception,*(int *)(pcVar30 + 0xe9eac) + -0x970,\n                         *(int *)(pcVar30 + 0xe9eac) + 0x18b0,0x424,300,\n                         *(int *)(pcVar30 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4,\n                         pDVar10->name)" ( (field_expression "pDVar10->exception" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9e9c) + 0x5cfc" (pointer_expression "*(int *)(pcVar30 + 0xe9e9c)" * (cast_expression "(int *)(pcVar30 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9e9c)" ( (binary_expression "pcVar30 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9e9c) + 0x5cf4" (pointer_expression "*(int *)(pcVar30 + 0xe9e9c)" * (cast_expression "(int *)(pcVar30 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9e9c)" ( (binary_expression "pcVar30 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (field_expression "pDVar10->name" identifier -> field_identifier) ))) ;) }) (else_clause "else {\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }" else (compound_statement "{\n              uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);\n              uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);\n              if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }\n              MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));\n              (**(code **)(pcVar30 + 0xea204))(uVar16);\n              (**(code **)(pcVar30 + 0xea204))(iVar28);\n            }" { (expression_statement "uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14);" (assignment_expression "uVar1 = (**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14)" identifier = (call_expression "(**(code **)(pcVar30 + 0xe9fd8))(0xd,iVar14)" (parenthesized_expression "(**(code **)(pcVar30 + 0xe9fd8))" ( (pointer_expression "**(code **)(pcVar30 + 0xe9fd8)" * (pointer_expression "*(code **)(pcVar30 + 0xe9fd8)" * (cast_expression "(code **)(pcVar30 + 0xe9fd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xe9fd8)" ( (binary_expression "pcVar30 + 0xe9fd8" identifier + number_literal) ))))) )) (argument_list "(0xd,iVar14)" ( number_literal , identifier )))) ;) (expression_statement "uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340);" (assignment_expression "uVar16 = (**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340)" identifier = (call_expression "(**(code **)(pcVar30 + 0xea508))(iVar8 + 0x2340)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea508))" ( (pointer_expression "**(code **)(pcVar30 + 0xea508)" * (pointer_expression "*(code **)(pcVar30 + 0xea508)" * (cast_expression "(code **)(pcVar30 + 0xea508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea508)" ( (binary_expression "pcVar30 + 0xea508" identifier + number_literal) ))))) )) (argument_list "(iVar8 + 0x2340)" ( (binary_expression "iVar8 + 0x2340" identifier + number_literal) )))) ;) (expression_statement "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1);" (call_expression "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1)" identifier (argument_list "(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670),uVar1)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x670)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xe9eac) + -0x670)" ( (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x670" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (if_statement "if (0 < iStack_2420) {\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }" if (parenthesized_expression "(0 < iStack_2420)" ( (binary_expression "0 < iStack_2420" number_literal < identifier) )) (compound_statement "{\n                iVar9 = *(int *)(pcVar30 + 0xe9eac);\n                iVar17 = *(int *)(pcVar30 + 0xe9eac);\n                iVar14 = iStack_2420;\n                iVar8 = iVar28;\n                do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);\n              }" { (expression_statement "iVar9 = *(int *)(pcVar30 + 0xe9eac);" (assignment_expression "iVar9 = *(int *)(pcVar30 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = *(int *)(pcVar30 + 0xe9eac);" (assignment_expression "iVar17 = *(int *)(pcVar30 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = iStack_2420;" (assignment_expression "iVar14 = iStack_2420" identifier = identifier) ;) (expression_statement "iVar8 = iVar28;" (assignment_expression "iVar8 = iVar28" identifier = identifier) ;) (do_statement "do {\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                } while (0 < iVar14);" do (compound_statement "{\n                  MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);\n                  iVar8 = iVar8 + 0x4c;\n                  if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }\n                  iVar14 = iVar14 + -0x4c;\n                }" { (expression_statement "MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8);" (call_expression "MVGPrintf(pDVar10,(char *)(iVar9 + -0x63c),iVar8)" identifier (argument_list "(pDVar10,(char *)(iVar9 + -0x63c),iVar8)" ( identifier , (cast_expression "(char *)(iVar9 + -0x63c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x63c)" ( (binary_expression "iVar9 + -0x63c" identifier + number_literal) ))) , identifier ))) ;) (expression_statement "iVar8 = iVar8 + 0x4c;" (assignment_expression "iVar8 = iVar8 + 0x4c" identifier = (binary_expression "iVar8 + 0x4c" identifier + number_literal)) ;) (if_statement "if (0x4c < iVar14) {\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }" if (parenthesized_expression "(0x4c < iVar14)" ( (binary_expression "0x4c < iVar14" number_literal < identifier) )) (compound_statement "{\n                    MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));\n                  }" { (expression_statement "MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030));" (call_expression "MVGPrintf(pDVar10,(char *)(iVar17 + 0x4030))" identifier (argument_list "(pDVar10,(char *)(iVar17 + 0x4030))" ( identifier , (cast_expression "(char *)(iVar17 + 0x4030)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x4030)" ( (binary_expression "iVar17 + 0x4030" identifier + number_literal) ))) ))) ;) })) (expression_statement "iVar14 = iVar14 + -0x4c;" (assignment_expression "iVar14 = iVar14 + -0x4c" identifier = (binary_expression "iVar14 + -0x4c" identifier + number_literal)) ;) }) while (parenthesized_expression "(0 < iVar14)" ( (binary_expression "0 < iVar14" number_literal < identifier) )) ;) })) (expression_statement "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224));" (call_expression "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224))" identifier (argument_list "(pDVar10,(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224))" ( identifier , (cast_expression "(char *)(*(int *)(pcVar30 + 0xe9eac) + -0x224)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xe9eac) + -0x224)" ( (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x224" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea204))(uVar16);" (call_expression "(**(code **)(pcVar30 + 0xea204))(uVar16)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea204))" ( (pointer_expression "**(code **)(pcVar30 + 0xea204)" * (pointer_expression "*(code **)(pcVar30 + 0xea204)" * (cast_expression "(code **)(pcVar30 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea204)" ( (binary_expression "pcVar30 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(uVar16)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar30 + 0xea204))(iVar28);" (call_expression "(**(code **)(pcVar30 + 0xea204))(iVar28)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea204))" ( (pointer_expression "**(code **)(pcVar30 + 0xea204)" * (pointer_expression "*(code **)(pcVar30 + 0xea204)" * (cast_expression "(code **)(pcVar30 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea204)" ( (binary_expression "pcVar30 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(iVar28)" ( identifier ))) ;) }))) })) })) (if_statement "if (iStack_141c == *piVar26) {\n          return;\n        }" if (parenthesized_expression "(iStack_141c == *piVar26)" ( (binary_expression "iStack_141c == *piVar26" identifier == (pointer_expression "*piVar26" * identifier)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "(**(code **)(pcVar30 + 0xea1fc))();" (call_expression "(**(code **)(pcVar30 + 0xea1fc))()" (parenthesized_expression "(**(code **)(pcVar30 + 0xea1fc))" ( (pointer_expression "**(code **)(pcVar30 + 0xea1fc)" * (pointer_expression "*(code **)(pcVar30 + 0xea1fc)" * (cast_expression "(code **)(pcVar30 + 0xea1fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea1fc)" ( (binary_expression "pcVar30 + 0xea1fc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar30 + 0xea590))\n                (*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea590))" ( (pointer_expression "**(code **)(pcVar30 + 0xea590)" * (pointer_expression "*(code **)(pcVar30 + 0xea590)" * (cast_expression "(code **)(pcVar30 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea590)" ( (binary_expression "pcVar30 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xe9eac) + -0x6a8,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x409,\n                 *(int *)(pcVar30 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x6a8" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar30 + 0xea590))\n              (*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar30 + 0xea590))" ( (pointer_expression "**(code **)(pcVar30 + 0xea590)" * (pointer_expression "*(code **)(pcVar30 + 0xea590)" * (cast_expression "(code **)(pcVar30 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea590)" ( (binary_expression "pcVar30 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar30 + 0xe9eac) + 0x419c,*(int *)(pcVar30 + 0xe9eac) + -0x970,0x406,\n               *(int *)(pcVar30 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x419c" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar31 = *(code **)(pcVar30 + 0xea590);" (assignment_expression "pcVar31 = *(code **)(pcVar30 + 0xea590)" identifier = (pointer_expression "*(code **)(pcVar30 + 0xea590)" * (cast_expression "(code **)(pcVar30 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar30 + 0xea590)" ( (binary_expression "pcVar30 + 0xea590" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970;" (assignment_expression "iVar14 = *(int *)(pcVar30 + 0xe9eac) + -0x970" identifier = (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954);" (assignment_expression "pDVar10 = (DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954)" identifier = (cast_expression "(DrawingWand *)(*(int *)(pcVar30 + 0xe9eac) + -0x954)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar30 + 0xe9eac) + -0x954)" ( (binary_expression "*(int *)(pcVar30 + 0xe9eac) + -0x954" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0);" (call_expression "(*pcVar31)(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(*pcVar31)" ( (pointer_expression "*pcVar31" * identifier) )) (argument_list "(pDVar10,iVar14,0x405,*(int *)(pcVar30 + 0xe9eac) + 0x18c0)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar30 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar30 + 0xe9eac)" * (cast_expression "(int *)(pcVar30 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar30 + 0xe9eac)" ( (binary_expression "pcVar30 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14);" (call_expression "MVGPrintf(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14)" identifier (argument_list "(pDVar10,(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634),iVar14)" ( identifier , (cast_expression "(char *)(*(int *)(pcVar31 + 0xe9a9c) + -0x634)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar31 + 0xe9a9c) + -0x634)" ( (binary_expression "*(int *)(pcVar31 + 0xe9a9c) + -0x634" (pointer_expression "*(int *)(pcVar31 + 0xe9a9c)" * (cast_expression "(int *)(pcVar31 + 0xe9a9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar31 + 0xe9a9c)" ( (binary_expression "pcVar31 + 0xe9a9c" identifier + number_literal) )))) + number_literal) ))) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}\n\n" (function_definition "undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" type_identifier (pointer_declarator "* FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" * (function_declarator "FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 uStack_2424;" type_identifier identifier ;) (declaration "int iStack_2420;" primitive_type identifier ;) (declaration "undefined1 auStack_241c [4096];" type_identifier (array_declarator "auStack_241c [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_141c;" primitive_type identifier ;) (declaration "undefined4 *puStack_1418;" type_identifier (pointer_declarator "*puStack_1418" * identifier) ;) (declaration "undefined1 *puStack_1410;" type_identifier (pointer_declarator "*puStack_1410" * identifier) ;) (declaration "int *piStack_140c;" primitive_type (pointer_declarator "*piStack_140c" * identifier) ;) (declaration "undefined4 *puStack_1408;" type_identifier (pointer_declarator "*puStack_1408" * identifier) ;) (declaration "undefined4 uStack_1390;" type_identifier identifier ;) (declaration "undefined4 uStack_11f0;" type_identifier identifier ;) (declaration "undefined1 auStack_10f8 [4];" type_identifier (array_declarator "auStack_10f8 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_10f4;" type_identifier identifier ;) (declaration "undefined4 uStack_10f0;" type_identifier identifier ;) (declaration "undefined8 uStack_10d0;" type_identifier identifier ;) (declaration "undefined8 uStack_10c8;" type_identifier identifier ;) (declaration "undefined8 uStack_10c0;" type_identifier identifier ;) (declaration "double dStack_10b0;" primitive_type identifier ;) (declaration "undefined1 auStack_109c [4096];" type_identifier (array_declarator "auStack_109c [4096]" identifier [ number_literal ]) ;) (declaration "undefined4 *puStack_9c;" type_identifier (pointer_declarator "*puStack_9c" * identifier) ;) (declaration "undefined *puStack_98;" type_identifier (pointer_declarator "*puStack_98" * identifier) ;) (if_statement "if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(param_1 == (undefined *)0x0)" ( (binary_expression "param_1 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" ( (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x954" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" { (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" ( number_literal , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal) , (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd48" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" if (parenthesized_expression "((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2))" ( (binary_expression "(*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)" (parenthesized_expression "(*(int *)(param_1 + 0x1044) == 9)" ( (binary_expression "*(int *)(param_1 + 0x1044) == 9" (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x1048) == param_2)" ( (binary_expression "*(int *)(param_1 + 0x1048) == param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" { (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" identifier = (cast_expression "(undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" identifier (argument_list "(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" ( identifier , (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x828" identifier + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "uVar1 = 0x76;" (assignment_expression "uVar1 = 0x76" identifier = number_literal) ;) (if_statement "if (param_2 == 1) {\n        uVar1 = 0x56;\n      }" if (parenthesized_expression "(param_2 == 1)" ( (binary_expression "param_2 == 1" identifier == number_literal) )) (compound_statement "{\n        uVar1 = 0x56;\n      }" { (expression_statement "uVar1 = 0x56;" (assignment_expression "uVar1 = 0x56" identifier = number_literal) ;) })) (expression_statement "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;" (assignment_expression "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x830" identifier + number_literal)) ;) (expression_statement "*(int *)(param_1 + 0x1048) = param_2;" (assignment_expression "*(int *)(param_1 + 0x1048) = param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 9;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 9" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" * (cast_expression "(undefined4 *)(param_1 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" identifier = (cast_expression "(undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(param_1,puVar9,uVar1)" identifier (argument_list "(param_1,puVar9,uVar1)" ( identifier , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0xe8f;" (assignment_expression "uVar1 = 0xe8f" identifier = number_literal) ;) (expression_statement "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;" (assignment_expression "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" identifier + number_literal)) ;) (expression_statement "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;" (assignment_expression "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" identifier + number_literal)) ;) (expression_statement "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;" (assignment_expression "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c" identifier = (binary_expression "PTR_s_t_char____NULL_0014f03c + 0x419c" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR___assert_fail_0014f720;" (assignment_expression "puVar9 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)();" (call_expression "(*(code *)PTR___assert_fail_0014f720)()" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(puVar5 == (undefined *)0x0)" ( (binary_expression "puVar5 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }" { (expression_statement "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(**(code **)(puVar9 + 0xebb8c))" ( (pointer_expression "**(code **)(puVar9 + 0xebb8c)" * (pointer_expression "*(code **)(puVar9 + 0xebb8c)" * (cast_expression "(code **)(puVar9 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xebb8c)" ( (binary_expression "puVar9 + 0xebb8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x954" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" { (expression_statement "unaff_s0 = puVar5;" (assignment_expression "unaff_s0 = puVar5" identifier = identifier) ;) (if_statement "if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(puVar5 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x1054)" * (cast_expression "(int *)(puVar5 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1054)" ( (binary_expression "puVar5 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" { (if_statement "if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1050) != 0)" ( (binary_expression "*(int *)(puVar5 + 0x1050) != 0" (pointer_expression "*(int *)(puVar5 + 0x1050)" * (cast_expression "(int *)(puVar5 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1050)" ( (binary_expression "puVar5 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" { (expression_statement "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);" (call_expression "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" (parenthesized_expression "(**(code **)(puVar9 + 0xeb8f4))" ( (pointer_expression "**(code **)(puVar9 + 0xeb8f4)" * (pointer_expression "*(code **)(puVar9 + 0xeb8f4)" * (cast_expression "(code **)(puVar9 + 0xeb8f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xeb8f4)" ( (binary_expression "puVar9 + 0xeb8f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" ( number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcb8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" if (parenthesized_expression "((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10))" ( (binary_expression "(*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)" (parenthesized_expression "(*(int *)(puVar5 + 0x1044) == 10)" ( (binary_expression "*(int *)(puVar5 + 0x1044) == 10" (pointer_expression "*(int *)(puVar5 + 0x1044)" * (cast_expression "(int *)(puVar5 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1044)" ( (binary_expression "puVar5 + 0x1044" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(undefined **)(puVar5 + 0x1048) == puVar10)" ( (binary_expression "*(undefined **)(puVar5 + 0x1048) == puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" * (cast_expression "(undefined **)(puVar5 + 0x1048)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x1048)" ( (binary_expression "puVar5 + 0x1048" identifier + number_literal) )))) == identifier) ))) )) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" { (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" identifier = (cast_expression "(undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" identifier (argument_list "(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" ( identifier , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x8bc" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "iVar11 = *(int *)(puVar9 + 0xeb4a8);" (assignment_expression "iVar11 = *(int *)(puVar9 + 0xeb4a8)" identifier = (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = 0x6d;" (assignment_expression "uVar1 = 0x6d" identifier = number_literal) ;) (if_statement "if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }" if (parenthesized_expression "(puVar10 == (undefined *)0x1)" ( (binary_expression "puVar10 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar1 = 0x4d;\n      }" { (expression_statement "uVar1 = 0x4d;" (assignment_expression "uVar1 = 0x4d" identifier = number_literal) ;) })) (expression_statement "*(undefined **)(puVar5 + 0x1048) = puVar10;" (assignment_expression "*(undefined **)(puVar5 + 0x1048) = puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" * (cast_expression "(undefined **)(puVar5 + 0x1048)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x1048)" ( (binary_expression "puVar5 + 0x1048" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar5 + 0x1044) = 10;" (assignment_expression "*(undefined4 *)(puVar5 + 0x1044) = 10" (pointer_expression "*(undefined4 *)(puVar5 + 0x1044)" * (cast_expression "(undefined4 *)(puVar5 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1044)" ( (binary_expression "puVar5 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" identifier = (cast_expression "(undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" identifier (argument_list "(puVar5,iVar11 + -0x890,uVar1)" ( identifier , (binary_expression "iVar11 + -0x890" identifier + number_literal) , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "pcVar24 = *(code **)(puVar9 + 0xebb8c);" (assignment_expression "pcVar24 = *(code **)(puVar9 + 0xebb8c)" identifier = (pointer_expression "*(code **)(puVar9 + 0xebb8c)" * (cast_expression "(code **)(puVar9 + 0xebb8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xebb8c)" ( (binary_expression "puVar9 + 0xebb8c" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);" (assignment_expression "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + -0x970)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" ( (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0x419c" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" * (cast_expression "(int *)(puVar9 + 0xeb4a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xeb4a8)" ( (binary_expression "puVar9 + 0xeb4a8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "piVar22 = *(int **)(pcVar24 + 0xeb7ac);" (assignment_expression "piVar22 = *(int **)(pcVar24 + 0xeb7ac)" identifier = (pointer_expression "*(int **)(pcVar24 + 0xeb7ac)" * (cast_expression "(int **)(pcVar24 + 0xeb7ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb7ac)" ( (binary_expression "pcVar24 + 0xeb7ac" identifier + number_literal) ))))) ;) (expression_statement "puStack_9c = (undefined4 *)*piVar22;" (assignment_expression "puStack_9c = (undefined4 *)*piVar22" identifier = (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb804);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb804)" * (cast_expression "(code **)(pcVar24 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb804)" ( (binary_expression "pcVar24 + 0xeb804" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" identifier = identifier) ;) (expression_statement "puStack_98 = unaff_s0;" (assignment_expression "puStack_98 = unaff_s0" identifier = identifier) ;) (if_statement "if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" if (parenthesized_expression "((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0))" ( (binary_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)" (parenthesized_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0))" ( (binary_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" (parenthesized_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0))" ( (binary_expression "(*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)" (parenthesized_expression "(*(double *)(puVar2 + 10) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 10) == 0.0" (pointer_expression "*(double *)(puVar2 + 10)" * (cast_expression "(double *)(puVar2 + 10)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "(*(double *)(puVar2 + 0xc) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 0xc) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xc)" * (cast_expression "(double *)(puVar2 + 0xc)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" ( (comma_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb804)" * (cast_expression "(code **)(pcVar24 + 0xeb804)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb804)" ( (binary_expression "pcVar24 + 0xeb804" identifier + number_literal) ))))) , (binary_expression "*(double *)(puVar2 + 0xe) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xe)" * (cast_expression "(double *)(puVar2 + 0xe)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) )))) == number_literal)) ))) )) && (parenthesized_expression "(*(double *)(puVar2 + 0x12) == 0.0)" ( (binary_expression "*(double *)(puVar2 + 0x12) == 0.0" (pointer_expression "*(double *)(puVar2 + 0x12)" * (cast_expression "(double *)(puVar2 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_00062838();\n  }" { (expression_statement "FUN_00062838();" (call_expression "FUN_00062838()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" else (compound_statement "{\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" { (expression_statement "(*pcVar25)(puVar6[0x401],auStack_10f8);" (call_expression "(*pcVar25)(puVar6[0x401],auStack_10f8)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar6[0x401],auStack_10f8)" ( (subscript_expression "puVar6[0x401]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "uStack_10f4 = 0x17;" (assignment_expression "uStack_10f4 = 0x17" identifier = number_literal) ;) (expression_statement "dStack_10b0 = *(double *)(puVar2 + 0x12);" (assignment_expression "dStack_10b0 = *(double *)(puVar2 + 0x12)" identifier = (pointer_expression "*(double *)(puVar2 + 0x12)" * (cast_expression "(double *)(puVar2 + 0x12)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x12)" ( (binary_expression "puVar2 + 0x12" identifier + number_literal) ))))) ;) (expression_statement "uStack_10d0 = *(undefined8 *)(puVar2 + 10);" (assignment_expression "uStack_10d0 = *(undefined8 *)(puVar2 + 10)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 10)" * (cast_expression "(undefined8 *)(puVar2 + 10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 10)" ( (binary_expression "puVar2 + 10" identifier + number_literal) ))))) ;) (expression_statement "uStack_10f0 = 4;" (assignment_expression "uStack_10f0 = 4" identifier = number_literal) ;) (expression_statement "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);" (assignment_expression "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 0xc)" * (cast_expression "(undefined8 *)(puVar2 + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);" (assignment_expression "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe)" identifier = (pointer_expression "*(undefined8 *)(puVar2 + 0xe)" * (cast_expression "(undefined8 *)(puVar2 + 0xe)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xe)" ( (binary_expression "puVar2 + 0xe" identifier + number_literal) ))))) ;) (if_statement "if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }" if (parenthesized_expression "(dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0))" ( (binary_expression "dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" identifier == (pointer_expression "*(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" * (cast_expression "(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" ( (binary_expression "*(int *)(pcVar24 + 0xeb30c) + 0x75f0" (pointer_expression "*(int *)(pcVar24 + 0xeb30c)" * (cast_expression "(int *)(pcVar24 + 0xeb30c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb30c)" ( (binary_expression "pcVar24 + 0xeb30c" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n      uStack_10f0 = 0;\n    }" { (expression_statement "uStack_10f0 = 0;" (assignment_expression "uStack_10f0 = 0" identifier = number_literal) ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);" (call_expression "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb608))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb608)" * (pointer_expression "*(code **)(pcVar24 + 0xeb608)" * (cast_expression "(code **)(pcVar24 + 0xeb608)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb608)" ( (binary_expression "pcVar24 + 0xeb608" identifier + number_literal) ))))) )) (argument_list "(auStack_10f8,1,auStack_109c)" ( identifier , number_literal , identifier ))) ;) (expression_statement "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);" (call_expression "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" identifier (argument_list "(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" ( identifier , (binary_expression "*(int *)(pcVar24 + 0xeb310) + -0x131c" (pointer_expression "*(int *)(pcVar24 + 0xeb310)" * (cast_expression "(int *)(pcVar24 + 0xeb310)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb310)" ( (binary_expression "pcVar24 + 0xeb310" identifier + number_literal) )))) + number_literal) , identifier ))) ;) }))) (expression_statement "puVar20 = auStack_10f8;" (assignment_expression "puVar20 = auStack_10f8" identifier = identifier) ;) (if_statement "if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }" if (parenthesized_expression "(puStack_9c == (undefined4 *)*piVar22)" ( (binary_expression "puStack_9c == (undefined4 *)*piVar22" identifier == (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier))) )) (compound_statement "{\n    return (undefined4 *)*piVar22;\n  }" { (return_statement "return (undefined4 *)*piVar22;" return (cast_expression "(undefined4 *)*piVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar22" * identifier)) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb66c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb66c)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb66c)" * (cast_expression "(code **)(pcVar24 + 0xeb66c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb66c)" ( (binary_expression "pcVar24 + 0xeb66c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);" (call_expression "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb5fc))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb5fc)" * (pointer_expression "*(code **)(pcVar24 + 0xeb5fc)" * (cast_expression "(code **)(pcVar24 + 0xeb5fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb5fc)" ( (binary_expression "pcVar24 + 0xeb5fc" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" ( number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" identifier = (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" ( (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" * (cast_expression "(code **)(pcVar24 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb4ac)" ( (binary_expression "pcVar24 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" identifier = (cast_expression "(undefined4 *)puVar8[0x40e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" * (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" * (cast_expression "(code **)(pcVar24 + 0xeb4ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb4ac)" ( (binary_expression "pcVar24 + 0xeb4ac" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" identifier = (subscript_expression "puVar8[0x40e]" identifier [ number_literal ])) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb490);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb490)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb490)" * (cast_expression "(code **)(pcVar24 + 0xeb490)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb490)" ( (binary_expression "pcVar24 + 0xeb490" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" identifier = (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" if (parenthesized_expression "(puVar8[0x407] != 0)" ( (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb508))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb508)" * (pointer_expression "*(code **)(pcVar24 + 0xeb508)" * (cast_expression "(code **)(pcVar24 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb508)" ( (binary_expression "pcVar24 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb508)" * (pointer_expression "*(code **)(pcVar24 + 0xeb508)" * (cast_expression "(code **)(pcVar24 + 0xeb508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb508)" ( (binary_expression "pcVar24 + 0xeb508" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x403])" ( (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" if (parenthesized_expression "((puVar8[0x413] == 0) || (puVar8[0x401] == 0))" ( (binary_expression "(puVar8[0x413] == 0) || (puVar8[0x401] == 0)" (parenthesized_expression "(puVar8[0x413] == 0)" ( (binary_expression "puVar8[0x413] == 0" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(puVar8[0x401] == 0)" ( (binary_expression "puVar8[0x401] == 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        puVar8[0x401] = 0;\n      }" { (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" else (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb458))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb458))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb458))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb458))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb458)" * (pointer_expression "*(code **)(pcVar24 + 0xeb458)" * (cast_expression "(code **)(pcVar24 + 0xeb458)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb458)" ( (binary_expression "pcVar24 + 0xeb458" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb800);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb800)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb800)" * (cast_expression "(code **)(pcVar24 + 0xeb800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb800)" ( (binary_expression "pcVar24 + 0xeb800" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x403] = 0;" (assignment_expression "puVar8[0x403] = 0" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x404] = 0;" (assignment_expression "puVar8[0x404] = 0" (subscript_expression "puVar8[0x404]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x405] = 0;" (assignment_expression "puVar8[0x405] = 0" (subscript_expression "puVar8[0x405]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x406] = 0;" (assignment_expression "puVar8[0x406] = 0" (subscript_expression "puVar8[0x406]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x407] = 0;" (assignment_expression "puVar8[0x407] = 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40c] = 0;" (assignment_expression "puVar8[0x40c] = 0" (subscript_expression "puVar8[0x40c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40a] = 0;" (assignment_expression "puVar8[0x40a] = 0" (subscript_expression "puVar8[0x40a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40b] = 0;" (assignment_expression "puVar8[0x40b] = 0" (subscript_expression "puVar8[0x40b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x408] = 0;" (assignment_expression "puVar8[0x408] = 0" (subscript_expression "puVar8[0x408]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x409] = 0;" (assignment_expression "puVar8[0x409] = 0" (subscript_expression "puVar8[0x409]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x40d] = 0;" (assignment_expression "puVar8[0x40d] = 0" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = (*pcVar25)(1,4);" (assignment_expression "iVar11 = (*pcVar25)(1,4)" identifier = (call_expression "(*pcVar25)(1,4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(1,4)" ( number_literal , number_literal )))) ;) (expression_statement "puVar8[0x40e] = iVar11;" (assignment_expression "puVar8[0x40e] = iVar11" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" { (expression_statement "iVar19 = puVar8[0x40d];" (assignment_expression "iVar19 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeb618))(0,0)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb618))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb618)" * (pointer_expression "*(code **)(pcVar24 + 0xeb618)" * (cast_expression "(code **)(pcVar24 + 0xeb618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb618)" ( (binary_expression "pcVar24 + 0xeb618" identifier + number_literal) ))))) )) (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "uVar7 = puVar8[0x402];" (assignment_expression "uVar7 = puVar8[0x402]" identifier = (subscript_expression "puVar8[0x402]" identifier [ number_literal ])) ;) (expression_statement "puVar8[0x40f] = 1;" (assignment_expression "puVar8[0x40f] = 1" (subscript_expression "puVar8[0x40f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;" (assignment_expression "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1" (pointer_expression "*(undefined4 *)(iVar11 + iVar19 * 4)" * (cast_expression "(undefined4 *)(iVar11 + iVar19 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar19 * 4)" ( (binary_expression "iVar11 + iVar19 * 4" identifier + (binary_expression "iVar19 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "puVar8[0x410] = 0;" (assignment_expression "puVar8[0x410] = 0" (subscript_expression "puVar8[0x410]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8[0x411] = 0;" (assignment_expression "puVar8[0x411] = 0" (subscript_expression "puVar8[0x411]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb898);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb898)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb898)" * (cast_expression "(code **)(pcVar24 + 0xeb898)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb898)" ( (binary_expression "pcVar24 + 0xeb898" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x412] = 0;" (assignment_expression "puVar8[0x412] = 0" (subscript_expression "puVar8[0x412]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (*pcVar25)(0,uVar7);" (assignment_expression "uVar1 = (*pcVar25)(0,uVar7)" identifier = (call_expression "(*pcVar25)(0,uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(0,uVar7)" ( number_literal , identifier )))) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb548);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb548)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb548)" * (cast_expression "(code **)(pcVar24 + 0xeb548)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb548)" ( (binary_expression "pcVar24 + 0xeb548" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar25)(puVar8[0x402]);" (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb97c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb97c)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb97c)" * (cast_expression "(code **)(pcVar24 + 0xeb97c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb97c)" ( (binary_expression "pcVar24 + 0xeb97c" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x413] = 1;" (assignment_expression "puVar8[0x413] = 1" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar2 = (undefined4 *)(*pcVar24)()" identifier = (cast_expression "(undefined4 *)(*pcVar24)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar8[0x414] = puVar2;" (assignment_expression "puVar8[0x414] = puVar2" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);" (assignment_expression "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" identifier = (cast_expression "(undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb430))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb430)" * (pointer_expression "*(code **)(pcVar24 + 0xeb430)" * (cast_expression "(code **)(pcVar24 + 0xeb430)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb430)" ( (binary_expression "pcVar24 + 0xeb430" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);" (call_expression "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb894))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb894)" * (pointer_expression "*(code **)(pcVar24 + 0xeb894)" * (cast_expression "(code **)(pcVar24 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb894)" ( (binary_expression "pcVar24 + 0xeb894" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" ( (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb894);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb894)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb894)" * (cast_expression "(code **)(pcVar24 + 0xeb894)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb894)" ( (binary_expression "pcVar24 + 0xeb894" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954" identifier = (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" ( identifier , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" * (cast_expression "(int *)(pcVar24 + 0xeb1b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeb1b0)" ( (binary_expression "pcVar24 + 0xeb1b0" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" { (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb340)" * (pointer_expression "*(code **)(pcVar25 + 0xeb340)" * (cast_expression "(code **)(pcVar25 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb340)" ( (binary_expression "pcVar25 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb784))(0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb784))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb784)" * (pointer_expression "*(code **)(pcVar25 + 0xeb784)" * (cast_expression "(code **)(pcVar25 + 0xeb784)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb784)" ( (binary_expression "pcVar25 + 0xeb784" identifier + number_literal) ))))) )) (argument_list "(0x1058)" ( number_literal ))))) ;) (if_statement "if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;" if (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" ( (binary_expression "puVar2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000644e0;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);" (call_expression "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb64c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb64c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb64c)" * (cast_expression "(code **)(pcVar25 + 0xeb64c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb64c)" ( (binary_expression "pcVar25 + 0xeb64c" identifier + number_literal) ))))) )) (argument_list "(puVar2,0,0x1058)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb334))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb334))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb334))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb334))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb334)" * (pointer_expression "*(code **)(pcVar25 + 0xeb334)" * (cast_expression "(code **)(pcVar25 + 0xeb334)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb334)" ( (binary_expression "pcVar25 + 0xeb334" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);" (call_expression "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb038))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb038)" * (pointer_expression "*(code **)(pcVar25 + 0xeb038)" * (cast_expression "(code **)(pcVar25 + 0xeb038)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb038)" ( (binary_expression "pcVar25 + 0xeb038" identifier + number_literal) ))))) )) (argument_list "(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" ( (binary_expression "puVar2 + 1" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x818" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5a8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5a8)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb5a8)" * (cast_expression "(code **)(pcVar25 + 0xeb5a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5a8)" ( (binary_expression "pcVar25 + 0xeb5a8" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x402] = uVar1;" (assignment_expression "puVar2[0x402] = uVar1" (subscript_expression "puVar2[0x402]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*pcVar24)(uVar1,uVar7);" (call_expression "(*pcVar24)(uVar1,uVar7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar1,uVar7)" ( identifier , identifier ))) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb704))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb704)" * (pointer_expression "*(code **)(pcVar25 + 0xeb704)" * (cast_expression "(code **)(pcVar25 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb704)" ( (binary_expression "pcVar25 + 0xeb704" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar11 + 0x100c))" ( (pointer_expression "*(undefined4 *)(iVar11 + 0x100c)" * (cast_expression "(undefined4 *)(iVar11 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x100c)" ( (binary_expression "iVar11 + 0x100c" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb434);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb434)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb434)" * (cast_expression "(code **)(pcVar25 + 0xeb434)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb434)" ( (binary_expression "pcVar25 + 0xeb434" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x403] = uVar1;" (assignment_expression "puVar2[0x403] = uVar1" (subscript_expression "puVar2[0x403]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar24)(uVar1);" (assignment_expression "uVar1 = (*pcVar24)(uVar1)" identifier = (call_expression "(*pcVar24)(uVar1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar1)" ( identifier )))) ;) (expression_statement "iVar19 = *(int *)(&DAT_00001014 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001014 + iVar11)" identifier = (pointer_expression "*(int *)(&DAT_00001014 + iVar11)" * (cast_expression "(int *)(&DAT_00001014 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar11)" ( (binary_expression "&DAT_00001014 + iVar11" (pointer_expression "&DAT_00001014" & identifier) + identifier) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x101c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x101c)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x101c)" * (cast_expression "(undefined4 *)(iVar11 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x101c)" ( (binary_expression "iVar11 + 0x101c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb704);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb704)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb704)" * (cast_expression "(code **)(pcVar25 + 0xeb704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb704)" ( (binary_expression "pcVar25 + 0xeb704" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);" (assignment_expression "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11)" (subscript_expression "puVar2[0x406]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(&DAT_00001018 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001018 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar11)" ( (binary_expression "&DAT_00001018 + iVar11" (pointer_expression "&DAT_00001018" & identifier) + identifier) ))))) ;) (expression_statement "puVar2[0x404] = iVar19 + 1;" (assignment_expression "puVar2[0x404] = iVar19 + 1" (subscript_expression "puVar2[0x404]" identifier [ number_literal ]) = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "puVar2[0x405] = uVar1;" (assignment_expression "puVar2[0x405] = uVar1" (subscript_expression "puVar2[0x405]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (*pcVar24)(uVar7);" (assignment_expression "uVar1 = (*pcVar24)(uVar7)" identifier = (call_expression "(*pcVar24)(uVar7)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar19 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "uVar18 = *(undefined4 *)(iVar11 + 0x1030);" (assignment_expression "uVar18 = *(undefined4 *)(iVar11 + 0x1030)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1030)" * (cast_expression "(undefined4 *)(iVar11 + 0x1030)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1030)" ( (binary_expression "iVar11 + 0x1030" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)(iVar11 + 0x1020);" (assignment_expression "uVar17 = *(undefined4 *)(iVar11 + 0x1020)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1020)" * (cast_expression "(undefined4 *)(iVar11 + 0x1020)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1020)" ( (binary_expression "iVar11 + 0x1020" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0x1024);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0x1024)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1024)" * (cast_expression "(undefined4 *)(iVar11 + 0x1024)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1024)" ( (binary_expression "iVar11 + 0x1024" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1028);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1028)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1028)" * (cast_expression "(undefined4 *)(iVar11 + 0x1028)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1028)" ( (binary_expression "iVar11 + 0x1028" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x102c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x102c)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x102c)" * (cast_expression "(undefined4 *)(iVar11 + 0x102c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x102c)" ( (binary_expression "iVar11 + 0x102c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb544);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb544)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb544)" * (cast_expression "(code **)(pcVar25 + 0xeb544)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb544)" ( (binary_expression "pcVar25 + 0xeb544" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x407] = uVar1;" (assignment_expression "puVar2[0x407] = uVar1" (subscript_expression "puVar2[0x407]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40c] = uVar18;" (assignment_expression "puVar2[0x40c] = uVar18" (subscript_expression "puVar2[0x40c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x408] = uVar17;" (assignment_expression "puVar2[0x408] = uVar17" (subscript_expression "puVar2[0x408]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x409] = uVar16;" (assignment_expression "puVar2[0x409] = uVar16" (subscript_expression "puVar2[0x409]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40a] = uVar15;" (assignment_expression "puVar2[0x40a] = uVar15" (subscript_expression "puVar2[0x40a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40b] = uVar7;" (assignment_expression "puVar2[0x40b] = uVar7" (subscript_expression "puVar2[0x40b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x40d] = iVar19;" (assignment_expression "puVar2[0x40d] = iVar19" (subscript_expression "puVar2[0x40d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar19 = (*pcVar24)(iVar19 + 1,4);" (assignment_expression "iVar19 = (*pcVar24)(iVar19 + 1,4)" identifier = (call_expression "(*pcVar24)(iVar19 + 1,4)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar19 + 1,4)" ( (binary_expression "iVar19 + 1" identifier + number_literal) , number_literal )))) ;) (expression_statement "puVar2[0x40e] = iVar19;" (assignment_expression "puVar2[0x40e] = iVar19" (subscript_expression "puVar2[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" { (if_statement "if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar11 + 0x1034))" ( (binary_expression "-1 < *(int *)(iVar11 + 0x1034)" number_literal < (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" { (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" { (expression_statement "iVar12 = iVar23 * 4;" (assignment_expression "iVar12 = iVar23 * 4" identifier = (binary_expression "iVar23 * 4" identifier * number_literal)) ;) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" identifier = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb35c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb35c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb35c)" * (cast_expression "(code **)(pcVar25 + 0xeb35c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb35c)" ( (binary_expression "pcVar25 + 0xeb35c" identifier + number_literal) ))))) )) (argument_list "(0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" ( number_literal , (pointer_expression "*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" * (cast_expression "(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar11 + 0x1038) + iVar12)" ( (binary_expression "*(int *)(iVar11 + 0x1038) + iVar12" (pointer_expression "*(int *)(iVar11 + 0x1038)" * (cast_expression "(int *)(iVar11 + 0x1038)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1038)" ( (binary_expression "iVar11 + 0x1038" identifier + number_literal) )))) + identifier) )))) )))) ;) (expression_statement "iVar4 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar4 = *(int *)(iVar11 + 0x1034)" identifier = (pointer_expression "*(int *)(iVar11 + 0x1034)" * (cast_expression "(int *)(iVar11 + 0x1034)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1034)" ( (binary_expression "iVar11 + 0x1034" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar19 + iVar12) = uVar1;" (assignment_expression "*(undefined4 *)(iVar19 + iVar12) = uVar1" (pointer_expression "*(undefined4 *)(iVar19 + iVar12)" * (cast_expression "(undefined4 *)(iVar19 + iVar12)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar12)" ( (binary_expression "iVar19 + iVar12" identifier + identifier) )))) = identifier) ;) (if_statement "if (iVar4 < iVar23) break;" if (parenthesized_expression "(iVar4 < iVar23)" ( (binary_expression "iVar4 < iVar23" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar19 = puVar2[0x40e];" (assignment_expression "iVar19 = puVar2[0x40e]" identifier = (subscript_expression "puVar2[0x40e]" identifier [ number_literal ])) ;) })) })) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1040);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1040)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1040)" * (cast_expression "(undefined4 *)(iVar11 + 0x1040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1040)" ( (binary_expression "iVar11 + 0x1040" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001044 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001044 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001044 + iVar11)" ( (binary_expression "&DAT_00001044 + iVar11" (pointer_expression "&DAT_00001044" & identifier) + identifier) ))))) ;) (expression_statement "uVar1 = *(undefined4 *)(iVar11 + 0x1048);" (assignment_expression "uVar1 = *(undefined4 *)(iVar11 + 0x1048)" identifier = (pointer_expression "*(undefined4 *)(iVar11 + 0x1048)" * (cast_expression "(undefined4 *)(iVar11 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1048)" ( (binary_expression "iVar11 + 0x1048" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(&DAT_00001004 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001004 + iVar11)" identifier = (pointer_expression "*(int *)(&DAT_00001004 + iVar11)" * (cast_expression "(int *)(&DAT_00001004 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar11)" ( (binary_expression "&DAT_00001004 + iVar11" (pointer_expression "&DAT_00001004" & identifier) + identifier) ))))) ;) (expression_statement "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);" (assignment_expression "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c)" (subscript_expression "puVar2[0x40f]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar11 + 0x103c)" * (cast_expression "(undefined4 *)(iVar11 + 0x103c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x103c)" ( (binary_expression "iVar11 + 0x103c" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x410] = uVar15;" (assignment_expression "puVar2[0x410] = uVar15" (subscript_expression "puVar2[0x410]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x411] = uVar7;" (assignment_expression "puVar2[0x411] = uVar7" (subscript_expression "puVar2[0x411]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x412] = uVar1;" (assignment_expression "puVar2[0x412] = uVar1" (subscript_expression "puVar2[0x412]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[0x401] = iVar19;" (assignment_expression "puVar2[0x401] = iVar19" (subscript_expression "puVar2[0x401]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" { (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb70c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb70c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb70c)" * (cast_expression "(code **)(pcVar25 + 0xeb70c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb70c)" ( (binary_expression "pcVar25 + 0xeb70c" identifier + number_literal) ))))) )) (argument_list "(iVar19,0,0,1)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "puVar2[0x401] = uVar1;" (assignment_expression "puVar2[0x401] = uVar1" (subscript_expression "puVar2[0x401]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb6c0);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb6c0)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb6c0)" * (cast_expression "(code **)(pcVar25 + 0xeb6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb6c0)" ( (binary_expression "pcVar25 + 0xeb6c0" identifier + number_literal) ))))) ;) (expression_statement "puVar2[0x413] = 1;" (assignment_expression "puVar2[0x413] = 1" (subscript_expression "puVar2[0x413]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar11 = (*pcVar24)();" (assignment_expression "iVar11 = (*pcVar24)()" identifier = (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar2[0x414] = iVar11;" (assignment_expression "puVar2[0x414] = iVar11" (subscript_expression "puVar2[0x414]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" { (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb340)" * (pointer_expression "*(code **)(pcVar25 + 0xeb340)" * (cast_expression "(code **)(pcVar25 + 0xeb340)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb340)" ( (binary_expression "pcVar25 + 0xeb340" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2[0x415] = 0xabacadab;" (assignment_expression "puVar2[0x415] = 0xabacadab" (subscript_expression "puVar2[0x415]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb814)" * (pointer_expression "*(code **)(pcVar25 + 0xeb814)" * (cast_expression "(code **)(pcVar25 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb814)" ( (binary_expression "pcVar25 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb488)" * (pointer_expression "*(code **)(pcVar25 + 0xeb488)" * (cast_expression "(code **)(pcVar25 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb488)" ( (binary_expression "pcVar25 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (expression_statement "uVar7 = 0x207;" (assignment_expression "uVar7 = 0x207" identifier = number_literal) ;) (do_statement "do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );" do (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);" (call_expression "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb174))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb174)" * (pointer_expression "*(code **)(pcVar25 + 0xeb174)" * (cast_expression "(code **)(pcVar25 + 0xeb174)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb174)" ( (binary_expression "pcVar25 + 0xeb174" identifier + number_literal) ))))) )) (argument_list "(uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb3d8))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb3d8))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb3d8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb3d8)" * (pointer_expression "*(code **)(pcVar25 + 0xeb3d8)" * (cast_expression "(code **)(pcVar25 + 0xeb3d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb3d8)" ( (binary_expression "pcVar25 + 0xeb3d8" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb00c))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb00c))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb00c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb00c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb00c)" * (cast_expression "(code **)(pcVar25 + 0xeb00c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb00c)" ( (binary_expression "pcVar25 + 0xeb00c" identifier + number_literal) ))))) )) (argument_list "(uVar1)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb688))();" (call_expression "(**(code **)(pcVar25 + 0xeb688))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb688))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb688)" * (pointer_expression "*(code **)(pcVar25 + 0xeb688)" * (cast_expression "(code **)(pcVar25 + 0xeb688)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb688)" ( (binary_expression "pcVar25 + 0xeb688" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb61c))(1);" (call_expression "(**(code **)(pcVar25 + 0xeb61c))(1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb61c))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb61c)" * (pointer_expression "*(code **)(pcVar25 + 0xeb61c)" * (cast_expression "(code **)(pcVar25 + 0xeb61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb61c)" ( (binary_expression "pcVar25 + 0xeb61c" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();" statement_identifier : (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb158)" * (pointer_expression "*(code **)(pcVar25 + 0xeb158)" * (cast_expression "(code **)(pcVar25 + 0xeb158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb158)" ( (binary_expression "pcVar25 + 0xeb158" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb814)" * (pointer_expression "*(code **)(pcVar25 + 0xeb814)" * (cast_expression "(code **)(pcVar25 + 0xeb814)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb814)" ( (binary_expression "pcVar25 + 0xeb814" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb488)" * (pointer_expression "*(code **)(pcVar25 + 0xeb488)" * (cast_expression "(code **)(pcVar25 + 0xeb488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb488)" ( (binary_expression "pcVar25 + 0xeb488" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) ))) ;) (expression_statement "uVar7 = 500;" (assignment_expression "uVar7 = 500" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);" (call_expression "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb5d8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeb5d8)" * (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" * (cast_expression "(code **)(pcVar25 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5d8)" ( (binary_expression "pcVar25 + 0xeb5d8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" ( (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5d8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5d8)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" * (cast_expression "(code **)(pcVar25 + 0xeb5d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeb5d8)" ( (binary_expression "pcVar25 + 0xeb5d8" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xeaef4) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;" (call_expression "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" * (cast_expression "(int *)(pcVar25 + 0xeaef4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xeaef4)" ( (binary_expression "pcVar25 + 0xeaef4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);" (call_expression "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeaf28))" ( (pointer_expression "**(code **)(pcVar24 + 0xeaf28)" * (pointer_expression "*(code **)(pcVar24 + 0xeaf28)" * (cast_expression "(code **)(pcVar24 + 0xeaf28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeaf28)" ( (binary_expression "pcVar24 + 0xeaf28" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" ( number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a04" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" while (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" { (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" identifier = (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" ( (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) + (binary_expression "iVar11 * 4" identifier * number_literal)) )))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" * (cast_expression "(code **)(pcVar24 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadd8)" ( (binary_expression "pcVar24 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" identifier = (subscript_expression "puVar8[0x40d]" identifier [ number_literal ])) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" identifier = (cast_expression "(undefined4 *)puVar8[0x40e]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]))) ;) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" identifier = (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" * (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" * (cast_expression "(code **)(pcVar24 + 0xeadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadd8)" ( (binary_expression "pcVar24 + 0xeadd8" identifier + number_literal) ))))) )) (argument_list "(*puVar2)" ( (pointer_expression "*puVar2" * identifier) )))) ;) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" identifier = (subscript_expression "puVar8[0x40e]" identifier [ number_literal ])) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeadbc);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeadbc)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" * (cast_expression "(code **)(pcVar24 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadbc)" ( (binary_expression "pcVar24 + 0xeadbc" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" identifier = (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" if (parenthesized_expression "(puVar8[0x407] != 0)" ( (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" { (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))()" identifier = (call_expression "(**(code **)(pcVar24 + 0xeae34))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar24 + 0xeae34)" * (pointer_expression "*(code **)(pcVar24 + 0xeae34)" * (cast_expression "(code **)(pcVar24 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeae34)" ( (binary_expression "pcVar24 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" identifier = (call_expression "(**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" ( (pointer_expression "**(code **)(pcVar24 + 0xeae34)" * (pointer_expression "*(code **)(pcVar24 + 0xeae34)" * (cast_expression "(code **)(pcVar24 + 0xeae34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeae34)" ( (binary_expression "pcVar24 + 0xeae34" identifier + number_literal) ))))) )) (argument_list "(puVar8[0x403])" ( (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }" if (parenthesized_expression "((puVar8[0x413] != 0) && (puVar8[0x401] != 0))" ( (binary_expression "(puVar8[0x413] != 0) && (puVar8[0x401] != 0)" (parenthesized_expression "(puVar8[0x413] != 0)" ( (binary_expression "puVar8[0x413] != 0" (subscript_expression "puVar8[0x413]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(puVar8[0x401] != 0)" ( (binary_expression "puVar8[0x401] != 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        (**(code **)(pcVar24 + 0xead84))();\n      }" { (expression_statement "(**(code **)(pcVar24 + 0xead84))();" (call_expression "(**(code **)(pcVar24 + 0xead84))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xead84))" ( (pointer_expression "**(code **)(pcVar24 + 0xead84)" * (pointer_expression "*(code **)(pcVar24 + 0xead84)" * (cast_expression "(code **)(pcVar24 + 0xead84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xead84)" ( (binary_expression "pcVar24 + 0xead84" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeabf4);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeabf4)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeabf4)" * (cast_expression "(code **)(pcVar24 + 0xeabf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeabf4)" ( (binary_expression "pcVar24 + 0xeabf4" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = (*pcVar25)(puVar8[0x402]);" (assignment_expression "uVar1 = (*pcVar25)(puVar8[0x402])" identifier = (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) )))) ;) (expression_statement "puVar8[0x402] = uVar1;" (assignment_expression "puVar8[0x402] = uVar1" (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb000);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb000)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb000)" * (cast_expression "(code **)(pcVar24 + 0xeb000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb000)" ( (binary_expression "pcVar24 + 0xeb000" identifier + number_literal) ))))) ;) (expression_statement "puVar8[0x415] = 0x54535254;" (assignment_expression "puVar8[0x415] = 0x54535254" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar25)(*puVar8);" (call_expression "(*pcVar25)(*puVar8)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))) ;) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0xeadbc))(puVar8)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadbc))" ( (pointer_expression "**(code **)(pcVar24 + 0xeadbc)" * (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" * (cast_expression "(code **)(pcVar24 + 0xeadbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeadbc)" ( (binary_expression "pcVar24 + 0xeadbc" identifier + number_literal) ))))) )) (argument_list "(puVar8)" ( identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb1c0))" ( (pointer_expression "**(code **)(pcVar24 + 0xeb1c0)" * (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" * (cast_expression "(code **)(pcVar24 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb1c0)" ( (binary_expression "pcVar24 + 0xeb1c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" ( (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb1c0);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb1c0)" identifier = (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" * (cast_expression "(code **)(pcVar24 + 0xeb1c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0xeb1c0)" ( (binary_expression "pcVar24 + 0xeb1c0" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0xeaadc) + -0x970)" ( (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954" identifier = (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" * (cast_expression "(int *)(pcVar24 + 0xeaadc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0xeaadc)" ( (binary_expression "pcVar24 + 0xeaadc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }" { (labeled_statement "LAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" statement_identifier : (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" * (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00064848;" goto statement_identifier ;) })) (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);" (call_expression "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead5c))" ( (pointer_expression "**(code **)(pcVar25 + 0xead5c)" * (pointer_expression "*(code **)(pcVar25 + 0xead5c)" * (cast_expression "(code **)(pcVar25 + 0xead5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead5c)" ( (binary_expression "pcVar25 + 0xead5c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19ec" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" { (expression_statement "FUN_00062640(iVar11,puVar8);" (call_expression "FUN_00062640(iVar11,puVar8)" identifier (argument_list "(iVar11,puVar8)" ( identifier , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" identifier = (cast_expression "(undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x7dc" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) , (pointer_expression "*puVar8" * identifier) , (subscript_expression "puVar8[1]" identifier [ number_literal ]) ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0x26b;" (assignment_expression "uVar1 = 0x26b" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xeaff4);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xeaff4)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" * (cast_expression "(code **)(pcVar25 + 0xeaff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaff4)" ( (binary_expression "pcVar25 + 0xeaff4" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8" identifier = (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea910) + -0x804)" ( (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x804" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" * (cast_expression "(int *)(pcVar25 + 0xea910)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea910)" ( (binary_expression "pcVar25 + 0xea910" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "pcVar24 = pcVar26 + 0xf2770;" (assignment_expression "pcVar24 = pcVar26 + 0xf2770" identifier = (binary_expression "pcVar26 + 0xf2770" identifier + number_literal)) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" * (cast_expression "(code **)(pcVar26 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea8d8)" ( (binary_expression "pcVar26 + 0xea8d8" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);" (call_expression "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabf8))" ( (pointer_expression "**(code **)(pcVar26 + 0xeabf8)" * (pointer_expression "*(code **)(pcVar26 + 0xeabf8)" * (cast_expression "(code **)(pcVar26 + 0xeabf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabf8)" ( (binary_expression "pcVar26 + 0xeabf8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x199c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" * (cast_expression "(code **)(pcVar26 + 0xea8d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea8d8)" ( (binary_expression "pcVar26 + 0xea8d8" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(0x2f,uStack_11f0);" (call_expression "(*pcVar24)(0x2f,uStack_11f0)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0x2f,uStack_11f0)" ( number_literal , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x7b0" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);" (call_expression "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeae90))" ( (pointer_expression "**(code **)(pcVar26 + 0xeae90)" * (pointer_expression "*(code **)(pcVar26 + 0xeae90)" * (cast_expression "(code **)(pcVar26 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeae90)" ( (binary_expression "pcVar26 + 0xeae90" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" ( (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x299;" (assignment_expression "uVar1 = 0x299" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xeae90);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xeae90)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xeae90)" * (cast_expression "(code **)(pcVar26 + 0xeae90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeae90)" ( (binary_expression "pcVar26 + 0xeae90" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8" identifier = (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea7ac) + -0x954)" ( (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" * (cast_expression "(int *)(pcVar26 + 0xea7ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea7ac)" ( (binary_expression "pcVar26 + 0xea7ac" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);" (call_expression "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaac8))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaac8)" * (pointer_expression "*(code **)(pcVar25 + 0xeaac8)" * (cast_expression "(code **)(pcVar25 + 0xeaac8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaac8)" ( (binary_expression "pcVar25 + 0xeaac8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x197c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" if (parenthesized_expression "(pcVar24 != (code *)0x0)" ( (binary_expression "pcVar24 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" { (expression_statement "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);" (assignment_expression "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" identifier = (call_expression "(**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaf14))" ( (pointer_expression "**(code **)(pcVar25 + 0xeaf14)" * (pointer_expression "*(code **)(pcVar25 + 0xeaf14)" * (cast_expression "(code **)(pcVar25 + 0xeaf14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xeaf14)" ( (binary_expression "pcVar25 + 0xeaf14" identifier + number_literal) ))))) )) (argument_list "(pcVar24,0x27)" ( identifier , number_literal )))) ;) (if_statement "if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" { (expression_statement "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);" (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x770" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xea9d4))(iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea9d4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea9d4)" * (pointer_expression "*(code **)(pcVar25 + 0xea9d4)" * (cast_expression "(code **)(pcVar25 + 0xea9d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea9d4)" ( (binary_expression "pcVar25 + 0xea9d4" identifier + number_literal) ))))) )) (argument_list "(iVar19)" ( identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" ( (pointer_expression "**(code **)(pcVar25 + 0xead60)" * (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x798" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" ( (pointer_expression "**(code **)(pcVar25 + 0xead60)" * (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "uVar1 = 0x2c4;" (assignment_expression "uVar1 = 0x2c4" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xead60);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xead60)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xead60)" * (cast_expression "(code **)(pcVar25 + 0xead60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xead60)" ( (binary_expression "pcVar25 + 0xead60" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c" identifier = (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea67c) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" * (cast_expression "(int *)(pcVar25 + 0xea67c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea67c)" ( (binary_expression "pcVar25 + 0xea67c" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);" (call_expression "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea93c))" ( (pointer_expression "**(code **)(pcVar26 + 0xea93c)" * (pointer_expression "*(code **)(pcVar26 + 0xea93c)" * (cast_expression "(code **)(pcVar26 + 0xea93c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea93c)" ( (binary_expression "pcVar26 + 0xea93c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x196c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x758" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);" (call_expression "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabd4))" ( (pointer_expression "**(code **)(pcVar26 + 0xeabd4)" * (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" * (cast_expression "(code **)(pcVar26 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabd4)" ( (binary_expression "pcVar26 + 0xeabd4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x1974" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = (code *)0x2f8;" (assignment_expression "pcVar25 = (code *)0x2f8" identifier = (cast_expression "(code *)0x2f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar27 = *(code **)(pcVar26 + 0xeabd4);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0xeabd4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" * (cast_expression "(code **)(pcVar26 + 0xeabd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xeabd4)" ( (binary_expression "pcVar26 + 0xeabd4" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);" (assignment_expression "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" identifier = (cast_expression "(undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x970)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x954)" ( (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" * (cast_expression "(int *)(pcVar26 + 0xea4f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea4f0)" ( (binary_expression "pcVar26 + 0xea4f0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" if (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" ( (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }" { (labeled_statement "LAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" else (compound_statement "{\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" { (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) (if_statement "if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" if (parenthesized_expression "(puVar8[0x415] != -0x54535255)" ( (binary_expression "puVar8[0x415] != -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" { (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" ( (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" * (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x419c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_00064d78;" goto statement_identifier ;) })) (if_statement "if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" { (expression_statement "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);" (call_expression "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" (parenthesized_expression "(**(code **)(pcVar27 + 0xea7f4))" ( (pointer_expression "**(code **)(pcVar27 + 0xea7f4)" * (pointer_expression "*(code **)(pcVar27 + 0xea7f4)" * (cast_expression "(code **)(pcVar27 + 0xea7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xea7f4)" ( (binary_expression "pcVar27 + 0xea7f4" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" ( number_literal , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "pcVar24 = pcVar25;" (assignment_expression "pcVar24 = pcVar25" identifier = identifier) ;) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" identifier = identifier) ;) (if_statement "if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" if (parenthesized_expression "(pcVar25 != (code *)0x0)" ( (binary_expression "pcVar25 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" { (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" identifier = (cast_expression "(undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" identifier (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x704" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) }))) (expression_statement "uVar1 = 0x322;" (assignment_expression "uVar1 = 0x322" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar27 + 0xeaa8c);" (assignment_expression "pcVar25 = *(code **)(pcVar27 + 0xeaa8c)" identifier = (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" * (cast_expression "(code **)(pcVar27 + 0xeaa8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0xeaa8c)" ( (binary_expression "pcVar27 + 0xeaa8c" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;" (assignment_expression "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960" identifier = (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" ( (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x72c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" * (cast_expression "(int *)(pcVar27 + 0xea3a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0xea3a8)" ( (binary_expression "pcVar27 + 0xea3a8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" { (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" { (expression_statement "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);" (call_expression "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" * (cast_expression "(code **)(pcVar25 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c8)" ( (binary_expression "pcVar25 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1928" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" identifier (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x6fc" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);" (call_expression "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea960))" ( (pointer_expression "**(code **)(pcVar25 + 0xea960)" * (pointer_expression "*(code **)(pcVar25 + 0xea960)" * (cast_expression "(code **)(pcVar25 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea960)" ( (binary_expression "pcVar25 + 0xea960" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" ( (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea960);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea960)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xea960)" * (cast_expression "(code **)(pcVar25 + 0xea960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea960)" ( (binary_expression "pcVar25 + 0xea960" identifier + number_literal) ))))) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea27c) + -0x954)" ( (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" * (cast_expression "(int *)(pcVar25 + 0xea27c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea27c)" ( (binary_expression "pcVar25 + 0xea27c" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" * (cast_expression "(code **)(pcVar26 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea4ec)" ( (binary_expression "pcVar26 + 0xea4ec" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);" (call_expression "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea5a0))" ( (pointer_expression "**(code **)(pcVar26 + 0xea5a0)" * (pointer_expression "*(code **)(pcVar26 + 0xea5a0)" * (cast_expression "(code **)(pcVar26 + 0xea5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea5a0)" ( (binary_expression "pcVar26 + 0xea5a0" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1900" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" * (cast_expression "(code **)(pcVar26 + 0xea4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea4ec)" ( (binary_expression "pcVar26 + 0xea4ec" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(puVar8[0x402]);" (call_expression "(*pcVar24)(puVar8[0x402])" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(puVar8[0x402])" ( (subscript_expression "puVar8[0x402]" identifier [ number_literal ]) ))) ;) (return_statement "return (undefined4 *)0x1;" return (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);" (call_expression "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea838))" ( (pointer_expression "**(code **)(pcVar26 + 0xea838)" * (pointer_expression "*(code **)(pcVar26 + 0xea838)" * (cast_expression "(code **)(pcVar26 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea838)" ( (binary_expression "pcVar26 + 0xea838" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" ( (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea838);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea838)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea838)" * (cast_expression "(code **)(pcVar26 + 0xea838)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea838)" ( (binary_expression "pcVar26 + 0xea838" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954" identifier = (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" * (cast_expression "(int *)(pcVar26 + 0xea154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xea154)" ( (binary_expression "pcVar26 + 0xea154" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }" { (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8" identifier = (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x18e8" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);" (call_expression "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea758))" ( (pointer_expression "**(code **)(pcVar25 + 0xea758)" * (pointer_expression "*(code **)(pcVar25 + 0xea758)" * (cast_expression "(code **)(pcVar25 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea758)" ( (binary_expression "pcVar25 + 0xea758" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" ( (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" else (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" { (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074);" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" { (if_statement "if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" if (parenthesized_expression "(*(int *)(&DAT_00001008 + iVar11) != 0)" ( (binary_expression "*(int *)(&DAT_00001008 + iVar11) != 0" (pointer_expression "*(int *)(&DAT_00001008 + iVar11)" * (cast_expression "(int *)(&DAT_00001008 + iVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) != number_literal) )) (compound_statement "{\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" { (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea928))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar25 + 0xea928))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea928))" ( (pointer_expression "**(code **)(pcVar25 + 0xea928)" * (pointer_expression "*(code **)(pcVar25 + 0xea928)" * (cast_expression "(code **)(pcVar25 + 0xea928)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea928)" ( (binary_expression "pcVar25 + 0xea928" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (return_statement "return (undefined4 *)0x0;" return (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "uVar1 = 0x388;" (assignment_expression "uVar1 = 0x388" identifier = number_literal) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea758);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea758)" identifier = (pointer_expression "*(code **)(pcVar25 + 0xea758)" * (cast_expression "(code **)(pcVar25 + 0xea758)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea758)" ( (binary_expression "pcVar25 + 0xea758" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iVar19 + 0x18e8;" (assignment_expression "iVar19 = iVar19 + 0x18e8" identifier = (binary_expression "iVar19 + 0x18e8" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0xea074) + 0x419c)" ( (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" * (cast_expression "(int *)(pcVar25 + 0xea074)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xea074)" ( (binary_expression "pcVar25 + 0xea074" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "puStack_1418 = puVar2;" (assignment_expression "puStack_1418 = puVar2" identifier = identifier) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" { (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" if (parenthesized_expression "(puVar8[0x415] == -0x54535255)" ( (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea108)" * (cast_expression "(code **)(pcVar26 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea108)" ( (binary_expression "pcVar26 + 0xea108" identifier + number_literal) ))))) ;) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" if (parenthesized_expression "(puVar8[0x414] != 0)" ( (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" { (expression_statement "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);" (call_expression "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea428))" ( (pointer_expression "**(code **)(pcVar26 + 0xea428)" * (pointer_expression "*(code **)(pcVar26 + 0xea428)" * (cast_expression "(code **)(pcVar26 + 0xea428)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea428)" ( (binary_expression "pcVar26 + 0xea428" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18d0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea108)" * (cast_expression "(code **)(pcVar26 + 0xea108)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea108)" ( (binary_expression "pcVar26 + 0xea108" identifier + number_literal) ))))) ;) })) (expression_statement "(*pcVar24)(0x2f,uStack_1390);" (call_expression "(*pcVar24)(0x2f,uStack_1390)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0x2f,uStack_1390)" ( number_literal , identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" identifier = (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" identifier (argument_list "(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6c0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , identifier , identifier ))))) ;) (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);" (call_expression "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea6c0))" ( (pointer_expression "**(code **)(pcVar26 + 0xea6c0)" * (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" * (cast_expression "(code **)(pcVar26 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea6c0)" ( (binary_expression "pcVar26 + 0xea6c0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" ( (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puStack_1418 = puVar8;" (assignment_expression "puStack_1418 = puVar8" identifier = identifier) ;) })) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea6c0);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea6c0)" identifier = (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" * (cast_expression "(code **)(pcVar26 + 0xea6c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0xea6c0)" ( (binary_expression "pcVar26 + 0xea6c0" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;" (assignment_expression "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970" identifier = (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc" identifier = (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" * (cast_expression "(int *)(pcVar26 + 0xe9fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0xe9fdc)" ( (binary_expression "pcVar26 + 0xe9fdc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar25)(iVar11,iVar19);" (call_expression "(*pcVar25)(iVar11,iVar19)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar11,iVar19)" ( identifier , identifier ))) ;) (expression_statement "piVar21 = *(int **)(pcVar25 + 0xea33c);" (assignment_expression "piVar21 = *(int **)(pcVar25 + 0xea33c)" identifier = (pointer_expression "*(int **)(pcVar25 + 0xea33c)" * (cast_expression "(int **)(pcVar25 + 0xea33c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea33c)" ( (binary_expression "pcVar25 + 0xea33c" identifier + number_literal) ))))) ;) (expression_statement "iStack_141c = *piVar21;" (assignment_expression "iStack_141c = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "puStack_1410 = puVar20;" (assignment_expression "puStack_1410 = puVar20" identifier = identifier) ;) (expression_statement "piStack_140c = piVar22;" (assignment_expression "piStack_140c = piVar22" identifier = identifier) ;) (expression_statement "puStack_1408 = puVar6;" (assignment_expression "puStack_1408 = puVar6" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_0006557c;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006557c;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" ( (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" * (cast_expression "(int *)(iVar11 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1054)" ( (binary_expression "iVar11 + 0x1054" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" { (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" ( (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" * (cast_expression "(int *)(iVar11 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1050)" ( (binary_expression "iVar11 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" { (expression_statement "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2f8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea2f8)" * (pointer_expression "*(code **)(pcVar25 + 0xea2f8)" * (cast_expression "(code **)(pcVar25 + 0xea2f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea2f8)" ( (binary_expression "pcVar25 + 0xea2f8" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" ( number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9ea0) + -0x131c" (pointer_expression "*(int *)(pcVar25 + 0xe9ea0)" * (cast_expression "(int *)(pcVar25 + 0xe9ea0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9ea0)" ( (binary_expression "pcVar25 + 0xe9ea0" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar11 + 4" identifier + number_literal) ))) ;) })) (if_statement "if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" if (parenthesized_expression "(pcVar24 != (code *)0x0)" ( (binary_expression "pcVar24 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" { (expression_statement "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);" (assignment_expression "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea19c))(pcVar24)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea19c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea19c)" * (pointer_expression "*(code **)(pcVar25 + 0xea19c)" * (cast_expression "(code **)(pcVar25 + 0xea19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea19c)" ( (binary_expression "pcVar25 + 0xea19c" identifier + number_literal) ))))) )) (argument_list "(pcVar24)" ( identifier )))) ;) (if_statement "if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" if (parenthesized_expression "((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0))" ( (binary_expression "(iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" identifier = (call_expression "(**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c4)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c4)" * (cast_expression "(code **)(pcVar25 + 0xea6c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c4)" ( (binary_expression "pcVar25 + 0xea6c4" identifier + number_literal) ))))) )) (argument_list "(iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" ( identifier , number_literal , number_literal , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }" { (labeled_statement "LAB_000654a8:\n        puVar2 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" else (compound_statement "{\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" { (expression_statement "iVar12 = (**(code **)(pcVar25 + 0xea2e4))();" (assignment_expression "iVar12 = (**(code **)(pcVar25 + 0xea2e4))()" identifier = (call_expression "(**(code **)(pcVar25 + 0xea2e4))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2e4))" ( (pointer_expression "**(code **)(pcVar25 + 0xea2e4)" * (pointer_expression "*(code **)(pcVar25 + 0xea2e4)" * (cast_expression "(code **)(pcVar25 + 0xea2e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea2e4)" ( (binary_expression "pcVar25 + 0xea2e4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;" (call_expression "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" ( (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" * (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" * (cast_expression "(code **)(pcVar25 + 0xea6c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea6c8)" ( (binary_expression "pcVar25 + 0xea6c8" identifier + number_literal) ))))) )) (argument_list "(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" ( (binary_expression "iVar12 + 0x210" identifier + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x684" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uStack_2424 = 0x800;" (assignment_expression "uStack_2424 = 0x800" identifier = number_literal) ;) (expression_statement "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));" (assignment_expression "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" identifier = (call_expression "(**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea4bc))" ( (pointer_expression "**(code **)(pcVar25 + 0xea4bc)" * (pointer_expression "*(code **)(pcVar25 + 0xea4bc)" * (cast_expression "(code **)(pcVar25 + 0xea4bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea4bc)" ( (binary_expression "pcVar25 + 0xea4bc" identifier + number_literal) ))))) )) (argument_list "(iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" ( identifier , identifier , (pointer_expression "&uStack_2424" & identifier) , (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea574))(iVar12);" (call_expression "(**(code **)(pcVar25 + 0xea574))(iVar12)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea574))" ( (pointer_expression "**(code **)(pcVar25 + 0xea574)" * (pointer_expression "*(code **)(pcVar25 + 0xea574)" * (cast_expression "(code **)(pcVar25 + 0xea574)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea574)" ( (binary_expression "pcVar25 + 0xea574" identifier + number_literal) ))))) )) (argument_list "(iVar12)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea500))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea500))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea500))" ( (pointer_expression "**(code **)(pcVar25 + 0xea500)" * (pointer_expression "*(code **)(pcVar25 + 0xea500)" * (cast_expression "(code **)(pcVar25 + 0xea500)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea500)" ( (binary_expression "pcVar25 + 0xea500" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) goto LAB_000654a8;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000654a8;" goto statement_identifier ;)) (expression_statement "iStack_2420 = 0;" (assignment_expression "iStack_2420 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea030))" ( (pointer_expression "**(code **)(pcVar25 + 0xea030)" * (pointer_expression "*(code **)(pcVar25 + 0xea030)" * (cast_expression "(code **)(pcVar25 + 0xea030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea030)" ( (binary_expression "pcVar25 + 0xea030" identifier + number_literal) ))))) )) (argument_list "(iVar3,uStack_2424,&iStack_2420)" ( identifier , identifier , (pointer_expression "&iStack_2420" & identifier) )))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea18c))(iVar3);" (call_expression "(**(code **)(pcVar25 + 0xea18c))(iVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea18c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea18c)" * (pointer_expression "*(code **)(pcVar25 + 0xea18c)" * (cast_expression "(code **)(pcVar25 + 0xea18c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea18c)" ( (binary_expression "pcVar25 + 0xea18c" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" { (expression_statement "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;" (call_expression "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9ff0))" ( (pointer_expression "**(code **)(pcVar25 + 0xe9ff0)" * (pointer_expression "*(code **)(pcVar25 + 0xe9ff0)" * (cast_expression "(code **)(pcVar25 + 0xe9ff0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xe9ff0)" ( (binary_expression "pcVar25 + 0xe9ff0" identifier + number_literal) ))))) )) (argument_list "(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x67c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea12c))" ( (pointer_expression "**(code **)(pcVar25 + 0xea12c)" * (pointer_expression "*(code **)(pcVar25 + 0xea12c)" * (cast_expression "(code **)(pcVar25 + 0xea12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea12c)" ( (binary_expression "pcVar25 + 0xea12c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar11)" ( (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cfc" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" * (cast_expression "(int *)(pcVar25 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9e9c)" ( (binary_expression "pcVar25 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" * (cast_expression "(int *)(pcVar25 + 0xe9e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9e9c)" ( (binary_expression "pcVar25 + 0xe9e9c" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar11 + 4" identifier + number_literal) ))) ;) (goto_statement "goto LAB_000654a8;" goto statement_identifier ;) })) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" identifier = (call_expression "(**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9fd8))" ( (pointer_expression "**(code **)(pcVar25 + 0xe9fd8)" * (pointer_expression "*(code **)(pcVar25 + 0xe9fd8)" * (cast_expression "(code **)(pcVar25 + 0xe9fd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xe9fd8)" ( (binary_expression "pcVar25 + 0xe9fd8" identifier + number_literal) ))))) )) (argument_list "(0xd,iVar19)" ( number_literal , identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);" (assignment_expression "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" identifier = (call_expression "(**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea508))" ( (pointer_expression "**(code **)(pcVar25 + 0xea508)" * (pointer_expression "*(code **)(pcVar25 + 0xea508)" * (cast_expression "(code **)(pcVar25 + 0xea508)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea508)" ( (binary_expression "pcVar25 + 0xea508" identifier + number_literal) ))))) )) (argument_list "(iVar23 + 0x2340)" ( (binary_expression "iVar23 + 0x2340" identifier + number_literal) )))) ;) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x670" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (if_statement "if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" if (parenthesized_expression "(0 < iStack_2420)" ( (binary_expression "0 < iStack_2420" number_literal < identifier) )) (compound_statement "{\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" { (expression_statement "iVar12 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar12 = *(int *)(pcVar25 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar3 = *(int *)(pcVar25 + 0xe9eac)" identifier = (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iStack_2420;" (assignment_expression "iVar19 = iStack_2420" identifier = identifier) ;) (expression_statement "iVar23 = iVar4;" (assignment_expression "iVar23 = iVar4" identifier = identifier) ;) (do_statement "do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);" do (compound_statement "{\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          }" { (expression_statement "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);" (call_expression "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23)" identifier (argument_list "(iVar11,iVar12 + -0x63c,iVar23)" ( identifier , (binary_expression "iVar12 + -0x63c" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar23 = iVar23 + 0x4c;" (assignment_expression "iVar23 = iVar23 + 0x4c" identifier = (binary_expression "iVar23 + 0x4c" identifier + number_literal)) ;) (if_statement "if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" if (parenthesized_expression "(0x4c < iVar19)" ( (binary_expression "0x4c < iVar19" number_literal < identifier) )) (compound_statement "{\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" { (expression_statement "FUN_00062838(iVar11,iVar3 + 0x4030);" (call_expression "FUN_00062838(iVar11,iVar3 + 0x4030)" identifier (argument_list "(iVar11,iVar3 + 0x4030)" ( identifier , (binary_expression "iVar3 + 0x4030" identifier + number_literal) ))) ;) })) (expression_statement "iVar19 = iVar19 + -0x4c;" (assignment_expression "iVar19 = iVar19 + -0x4c" identifier = (binary_expression "iVar19 + -0x4c" identifier + number_literal)) ;) }) while (parenthesized_expression "(0 < iVar19)" ( (binary_expression "0 < iVar19" number_literal < identifier) )) ;) })) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" identifier (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" ( identifier , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x224" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea204))(uVar7);" (call_expression "(**(code **)(pcVar25 + 0xea204))(uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" ( (pointer_expression "**(code **)(pcVar25 + 0xea204)" * (pointer_expression "*(code **)(pcVar25 + 0xea204)" * (cast_expression "(code **)(pcVar25 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea204)" ( (binary_expression "pcVar25 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar25 + 0xea204))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea204))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" ( (pointer_expression "**(code **)(pcVar25 + 0xea204)" * (pointer_expression "*(code **)(pcVar25 + 0xea204)" * (cast_expression "(code **)(pcVar25 + 0xea204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea204)" ( (binary_expression "pcVar25 + 0xea204" identifier + number_literal) ))))) )) (argument_list "(iVar4)" ( identifier ))) ;) (expression_statement "puVar2 = (undefined4 *)0x1;" (assignment_expression "puVar2 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (iStack_141c == *piVar21) {\n        return puVar2;\n      }" if (parenthesized_expression "(iStack_141c == *piVar21)" ( (binary_expression "iStack_141c == *piVar21" identifier == (pointer_expression "*piVar21" * identifier)) )) (compound_statement "{\n        return puVar2;\n      }" { (return_statement "return puVar2;" return identifier ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea1fc))();" (call_expression "(**(code **)(pcVar25 + 0xea1fc))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea1fc))" ( (pointer_expression "**(code **)(pcVar25 + 0xea1fc)" * (pointer_expression "*(code **)(pcVar25 + 0xea1fc)" * (cast_expression "(code **)(pcVar25 + 0xea1fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea1fc)" ( (binary_expression "pcVar25 + 0xea1fc" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x6a8" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" statement_identifier : (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" ( (pointer_expression "**(code **)(pcVar25 + 0xea590)" * (pointer_expression "*(code **)(pcVar25 + 0xea590)" * (cast_expression "(code **)(pcVar25 + 0xea590)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0xea590)" ( (binary_expression "pcVar25 + 0xea590" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" ( (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" * (cast_expression "(int *)(pcVar25 + 0xe9eac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0xe9eac)" ( (binary_expression "pcVar25 + 0xe9eac" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar2 = (undefined4 *)FUN_00062838();" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838()" identifier = (cast_expression "(undefined4 *)FUN_00062838()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00062838()" identifier (argument_list "()" ( ))))) ;) (return_statement "return puVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (return_statement return 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) ))))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (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 *)) ) (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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_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 = 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 * (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 ( LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , 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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) (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 ( (subscript_expression IDENT [ 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 ))))) ;) (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 = 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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) })) (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 ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 = (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 IDENT + 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 ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (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 ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (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 ( ))))) ;) (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 ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (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 , (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) , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (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 ))) ;) (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 ( ))) ;) (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 ))) ;) (labeled_statement statement_identifier : (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 ( )))) ;)) (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 ( ))))) ;) (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 ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (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 { (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (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 ( ))) ;) })) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (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 ( 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 = 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) ))))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) ))) ;) (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 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 ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))))) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (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) ))) ;) (expression_statement (assignment_expression IDENT = (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (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) ))) ;) (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 * (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 ))) ;) })) (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 ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (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 ( IDENT ))))) ;) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (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 = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 , 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 * (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 ( ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = 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 ( (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) ))) ;) (goto_statement goto statement_identifier ;) })) (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 ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 , 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 * (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 ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 = 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) ))))) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = 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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (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) + IDENT) )))) != LIT) )) (compound_statement { (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 ( ))))) ;) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression 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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , 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 = 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) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (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 ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (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 IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 , IDENT , (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (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 ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( 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 ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (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 ( ))) ;) })) (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 (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) ))) ;) (labeled_statement statement_identifier : (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 * FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" (* "*") (function_declarator "FUN_00063a20(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" (identifier "FUN_00063a20") (parameter_list "(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")")))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  int iVar11;\n  int iVar12;\n  undefined1 *puVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  undefined4 uVar17;\n  undefined4 uVar18;\n  undefined *unaff_s0;\n  int iVar19;\n  undefined1 *puVar20;\n  int *piVar21;\n  int *piVar22;\n  int iVar23;\n  code *pcVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 uStack_2424;\n  int iStack_2420;\n  undefined1 auStack_241c [4096];\n  int iStack_141c;\n  undefined4 *puStack_1418;\n  undefined1 *puStack_1410;\n  int *piStack_140c;\n  undefined4 *puStack_1408;\n  undefined4 uStack_1390;\n  undefined4 uStack_11f0;\n  undefined1 auStack_10f8 [4];\n  undefined4 uStack_10f4;\n  undefined4 uStack_10f0;\n  undefined8 uStack_10d0;\n  undefined8 uStack_10c8;\n  undefined8 uStack_10c0;\n  double dStack_10b0;\n  undefined1 auStack_109c [4096];\n  undefined4 *puStack_9c;\n  undefined *puStack_98;\n  \n  if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }\n  uVar1 = 0xe8f;\n  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;\n  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;\n  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;\n  puVar9 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)();\n  if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }\n  pcVar24 = *(code **)(puVar9 + 0xebb8c);\n  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);\n  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);\n  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  piVar22 = *(int **)(pcVar24 + 0xeb7ac);\n  puStack_9c = (undefined4 *)*piVar22;\n  pcVar25 = *(code **)(pcVar24 + 0xeb804);\n  puVar8 = puVar6;\n  puStack_98 = unaff_s0;\n  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }\n  puVar20 = auStack_10f8;\n  if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }\n  pcVar24 = *(code **)(pcVar24 + 0xeb66c);\n  (*pcVar24)();\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb894);\n  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;\n  if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }\n  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);\n  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);\n  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);\n  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;\n  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n  if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x26b;\n  pcVar26 = *(code **)(pcVar25 + 0xeaff4);\n  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);\n  pcVar24 = pcVar26 + 0xf2770;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x299;\n  pcVar25 = *(code **)(pcVar26 + 0xeae90);\n  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);\n  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }\n  uVar1 = 0x2c4;\n  pcVar26 = *(code **)(pcVar25 + 0xead60);\n  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }\n  pcVar25 = (code *)0x2f8;\n  pcVar27 = *(code **)(pcVar26 + 0xeabd4);\n  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);\n  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);\n  (*pcVar27)();\n  if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }\n  uVar1 = 0x322;\n  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);\n  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;\n  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);\n  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }\n  pcVar26 = *(code **)(pcVar25 + 0xea960);\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea838);\n  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;\n  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;\n  if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }\n  uVar1 = 0x388;\n  pcVar26 = *(code **)(pcVar25 + 0xea758);\n  iVar19 = iVar19 + 0x18e8;\n  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);\n  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);\n  puStack_1418 = puVar2;\n  if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }\n  pcVar25 = *(code **)(pcVar26 + 0xea6c0);\n  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;\n  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;\n  (*pcVar25)(iVar11,iVar19);\n  piVar21 = *(int **)(pcVar25 + 0xea33c);\n  iStack_141c = *piVar21;\n  puStack_1410 = puVar20;\n  piStack_140c = piVar22;\n  puStack_1408 = puVar6;\n  if (iVar11 == 0) goto LAB_0006557c;\n  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\nLAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  puVar2 = (undefined4 *)FUN_00062838();\n  return puVar2;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "undefined1 *puVar13;" (type_identifier "undefined1") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "undefined *unaff_s0;" (type_identifier "undefined") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "undefined4 uStack_2424;" (type_identifier "undefined4") (identifier "uStack_2424") (; ";")) (declaration "int iStack_2420;" (primitive_type "int") (identifier "iStack_2420") (; ";")) (declaration "undefined1 auStack_241c [4096];" (type_identifier "undefined1") (array_declarator "auStack_241c [4096]" (identifier "auStack_241c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int iStack_141c;" (primitive_type "int") (identifier "iStack_141c") (; ";")) (declaration "undefined4 *puStack_1418;" (type_identifier "undefined4") (pointer_declarator "*puStack_1418" (* "*") (identifier "puStack_1418")) (; ";")) (declaration "undefined1 *puStack_1410;" (type_identifier "undefined1") (pointer_declarator "*puStack_1410" (* "*") (identifier "puStack_1410")) (; ";")) (declaration "int *piStack_140c;" (primitive_type "int") (pointer_declarator "*piStack_140c" (* "*") (identifier "piStack_140c")) (; ";")) (declaration "undefined4 *puStack_1408;" (type_identifier "undefined4") (pointer_declarator "*puStack_1408" (* "*") (identifier "puStack_1408")) (; ";")) (declaration "undefined4 uStack_1390;" (type_identifier "undefined4") (identifier "uStack_1390") (; ";")) (declaration "undefined4 uStack_11f0;" (type_identifier "undefined4") (identifier "uStack_11f0") (; ";")) (declaration "undefined1 auStack_10f8 [4];" (type_identifier "undefined1") (array_declarator "auStack_10f8 [4]" (identifier "auStack_10f8") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 uStack_10f4;" (type_identifier "undefined4") (identifier "uStack_10f4") (; ";")) (declaration "undefined4 uStack_10f0;" (type_identifier "undefined4") (identifier "uStack_10f0") (; ";")) (declaration "undefined8 uStack_10d0;" (type_identifier "undefined8") (identifier "uStack_10d0") (; ";")) (declaration "undefined8 uStack_10c8;" (type_identifier "undefined8") (identifier "uStack_10c8") (; ";")) (declaration "undefined8 uStack_10c0;" (type_identifier "undefined8") (identifier "uStack_10c0") (; ";")) (declaration "double dStack_10b0;" (primitive_type "double") (identifier "dStack_10b0") (; ";")) (declaration "undefined1 auStack_109c [4096];" (type_identifier "undefined1") (array_declarator "auStack_109c [4096]" (identifier "auStack_109c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined4 *puStack_9c;" (type_identifier "undefined4") (pointer_declarator "*puStack_9c" (* "*") (identifier "puStack_9c")) (; ";")) (declaration "undefined *puStack_98;" (type_identifier "undefined") (pointer_declarator "*puStack_98" (* "*") (identifier "puStack_98")) (; ";")) (if_statement "if (param_1 == (undefined *)0x0) {\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }\n  else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined *)0x0)" (( "(") (binary_expression "param_1 == (undefined *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0014f720" (* "*") (cast_expression "(code *)PTR___assert_fail_0014f720" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0014f720"))) () ")")) (argument_list "(PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,\n               PTR_s_t_char____NULL_0014f03c + 0xd60)" (( "(") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x954" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0xe8e") (, ",") (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "0xd60")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s0 = param_1;\n    if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }\n  }" ({ "{") (expression_statement "unaff_s0 = param_1;" (assignment_expression "unaff_s0 = param_1" (identifier "unaff_s0") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1054) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1054) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" (* "*") (cast_expression "(int *)(param_1 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1054)" (( "(") (binary_expression "param_1 + 0x1054" (identifier "param_1") (+ "+") (number_literal "0x1054")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }\n      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }\n      uVar1 = 0x76;\n      if (param_2 == 1) {\n        uVar1 = 0x56;\n      }\n      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;\n      *(int *)(param_1 + 0x1048) = param_2;\n      *(undefined4 *)(param_1 + 0x1044) = 9;\n      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);\n      return puVar2;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" (* "*") (cast_expression "(int *)(param_1 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1050)" (( "(") (binary_expression "param_1 + 0x1050" (identifier "param_1") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);\n      }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_0014f488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_0014f488"))) () ")")) (argument_list "(0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,\n                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd48" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "0xd48")) (, ",") (number_literal "0xe91") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2))" (( "(") (binary_expression "(*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)" (parenthesized_expression "(*(int *)(param_1 + 0x1044) == 9)" (( "(") (binary_expression "*(int *)(param_1 + 0x1044) == 9" (pointer_expression "*(int *)(param_1 + 0x1044)" (* "*") (cast_expression "(int *)(param_1 + 0x1044)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1044)" (( "(") (binary_expression "param_1 + 0x1044" (identifier "param_1") (+ "+") (number_literal "0x1044")) () ")")))) (== "==") (number_literal "9")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x1048) == param_2)" (( "(") (binary_expression "*(int *)(param_1 + 0x1048) == param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" (* "*") (cast_expression "(int *)(param_1 + 0x1048)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1048)" (( "(") (binary_expression "param_1 + 0x1048" (identifier "param_1") (+ "+") (number_literal "0x1048")) () ")")))) (== "==") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);\n        return puVar2;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)\n                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" (identifier "FUN_00062bdc") (argument_list "(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x828" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x828")) (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "uVar1 = 0x76;" (assignment_expression "uVar1 = 0x76" (identifier "uVar1") (= "=") (number_literal "0x76")) (; ";")) (if_statement "if (param_2 == 1) {\n        uVar1 = 0x56;\n      }" (if "if") (parenthesized_expression "(param_2 == 1)" (( "(") (binary_expression "param_2 == 1" (identifier "param_2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uVar1 = 0x56;\n      }" ({ "{") (expression_statement "uVar1 = 0x56;" (assignment_expression "uVar1 = 0x56" (identifier "uVar1") (= "=") (number_literal "0x56")) (; ";")) (} "}"))) (expression_statement "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;" (assignment_expression "puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830" (identifier "puVar9") (= "=") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x830" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x830"))) (; ";")) (expression_statement "*(int *)(param_1 + 0x1048) = param_2;" (assignment_expression "*(int *)(param_1 + 0x1048) = param_2" (pointer_expression "*(int *)(param_1 + 0x1048)" (* "*") (cast_expression "(int *)(param_1 + 0x1048)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1048)" (( "(") (binary_expression "param_1 + 0x1048" (identifier "param_1") (+ "+") (number_literal "0x1048")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 9;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 9" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1044)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1044)" (( "(") (binary_expression "param_1 + 0x1044" (identifier "param_1") (+ "+") (number_literal "0x1044")) () ")")))) (= "=") (number_literal "9")) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062bdc(param_1,puVar9,uVar1)" (identifier "FUN_00062bdc") (argument_list "(param_1,puVar9,uVar1)" (( "(") (identifier "param_1") (, ",") (identifier "puVar9") (, ",") (identifier "uVar1") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar1 = 0xe8f;" (assignment_expression "uVar1 = 0xe8f" (identifier "uVar1") (= "=") (number_literal "0xe8f")) (; ";")) (expression_statement "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;" (assignment_expression "puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60" (identifier "puVar14") (= "=") (binary_expression "PTR_s_t_char____NULL_0014f03c + 0xd60" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "0xd60"))) (; ";")) (expression_statement "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;" (assignment_expression "puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970" (identifier "puVar10") (= "=") (binary_expression "PTR_s_t_char____NULL_0014f03c + -0x970" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "-0x970"))) (; ";")) (expression_statement "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;" (assignment_expression "puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c" (identifier "puVar5") (= "=") (binary_expression "PTR_s_t_char____NULL_0014f03c + 0x419c" (identifier "PTR_s_t_char____NULL_0014f03c") (+ "+") (number_literal "0x419c"))) (; ";")) (expression_statement "puVar9 = PTR___assert_fail_0014f720;" (assignment_expression "puVar9 = PTR___assert_fail_0014f720" (identifier "puVar9") (= "=") (identifier "PTR___assert_fail_0014f720")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_0014f720)();" (call_expression "(*(code *)PTR___assert_fail_0014f720)()" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0014f720" (* "*") (cast_expression "(code *)PTR___assert_fail_0014f720" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0014f720"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar5 == (undefined *)0x0) {\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }\n  else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" (if "if") (parenthesized_expression "(puVar5 == (undefined *)0x0)" (( "(") (binary_expression "puVar5 == (undefined *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);\n  }" ({ "{") (expression_statement "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(**(code **)(puVar9 + 0xebb8c))\n              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(**(code **)(puVar9 + 0xebb8c))" (( "(") (pointer_expression "**(code **)(puVar9 + 0xebb8c)" (* "*") (pointer_expression "*(code **)(puVar9 + 0xebb8c)" (* "*") (cast_expression "(code **)(puVar9 + 0xebb8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0xebb8c)" (( "(") (binary_expression "puVar9 + 0xebb8c" (identifier "puVar9") (+ "+") (number_literal "0xebb8c")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,\n               *(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (( "(") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x954" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0xeeb") (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "0xcc8")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s0 = puVar5;\n    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }\n  }" ({ "{") (expression_statement "unaff_s0 = puVar5;" (assignment_expression "unaff_s0 = puVar5" (identifier "unaff_s0") (= "=") (identifier "puVar5")) (; ";")) (if_statement "if (*(int *)(puVar5 + 0x1054) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar5 + 0x1054) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar5 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x1054)" (* "*") (cast_expression "(int *)(puVar5 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1054)" (( "(") (binary_expression "puVar5 + 0x1054" (identifier "puVar5") (+ "+") (number_literal "0x1054")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }\n      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }\n      iVar11 = *(int *)(puVar9 + 0xeb4a8);\n      uVar1 = 0x6d;\n      if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }\n      *(undefined **)(puVar5 + 0x1048) = puVar10;\n      *(undefined4 *)(puVar5 + 0x1044) = 10;\n      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);\n      return puVar2;\n    }" ({ "{") (if_statement "if (*(int *)(puVar5 + 0x1050) != 0) {\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar5 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(puVar5 + 0x1050) != 0" (pointer_expression "*(int *)(puVar5 + 0x1050)" (* "*") (cast_expression "(int *)(puVar5 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1050)" (( "(") (binary_expression "puVar5 + 0x1050" (identifier "puVar5") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);\n      }" ({ "{") (expression_statement "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee);" (call_expression "(**(code **)(puVar9 + 0xeb8f4))\n                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" (parenthesized_expression "(**(code **)(puVar9 + 0xeb8f4))" (( "(") (pointer_expression "**(code **)(puVar9 + 0xeb8f4)" (* "*") (pointer_expression "*(code **)(puVar9 + 0xeb8f4)" (* "*") (cast_expression "(code **)(puVar9 + 0xeb8f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0xeb8f4)" (( "(") (binary_expression "puVar9 + 0xeb8f4" (identifier "puVar9") (+ "+") (number_literal "0xeb8f4")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,\n                   0xeee)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcb8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "0xcb8")) (, ",") (number_literal "0xeee") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" (if "if") (parenthesized_expression "((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10))" (( "(") (binary_expression "(*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)" (parenthesized_expression "(*(int *)(puVar5 + 0x1044) == 10)" (( "(") (binary_expression "*(int *)(puVar5 + 0x1044) == 10" (pointer_expression "*(int *)(puVar5 + 0x1044)" (* "*") (cast_expression "(int *)(puVar5 + 0x1044)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1044)" (( "(") (binary_expression "puVar5 + 0x1044" (identifier "puVar5") (+ "+") (number_literal "0x1044")) () ")")))) (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(*(undefined **)(puVar5 + 0x1048) == puVar10)" (( "(") (binary_expression "*(undefined **)(puVar5 + 0x1048) == puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" (* "*") (cast_expression "(undefined **)(puVar5 + 0x1048)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x1048)" (( "(") (binary_expression "puVar5 + 0x1048" (identifier "puVar5") (+ "+") (number_literal "0x1048")) () ")")))) (== "==") (identifier "puVar10")) () ")"))) () ")")) (compound_statement "{\n        puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);\n        return puVar2;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);" (assignment_expression "puVar2 = (undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)\n                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" (identifier "FUN_00062bdc") (argument_list "(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14)" (( "(") (identifier "puVar5") (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x8bc" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "-0x8bc")) (, ",") (identifier "uVar1") (, ",") (identifier "puVar14") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "iVar11 = *(int *)(puVar9 + 0xeb4a8);" (assignment_expression "iVar11 = *(int *)(puVar9 + 0xeb4a8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")"))))) (; ";")) (expression_statement "uVar1 = 0x6d;" (assignment_expression "uVar1 = 0x6d" (identifier "uVar1") (= "=") (number_literal "0x6d")) (; ";")) (if_statement "if (puVar10 == (undefined *)0x1) {\n        uVar1 = 0x4d;\n      }" (if "if") (parenthesized_expression "(puVar10 == (undefined *)0x1)" (( "(") (binary_expression "puVar10 == (undefined *)0x1" (identifier "puVar10") (== "==") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n        uVar1 = 0x4d;\n      }" ({ "{") (expression_statement "uVar1 = 0x4d;" (assignment_expression "uVar1 = 0x4d" (identifier "uVar1") (= "=") (number_literal "0x4d")) (; ";")) (} "}"))) (expression_statement "*(undefined **)(puVar5 + 0x1048) = puVar10;" (assignment_expression "*(undefined **)(puVar5 + 0x1048) = puVar10" (pointer_expression "*(undefined **)(puVar5 + 0x1048)" (* "*") (cast_expression "(undefined **)(puVar5 + 0x1048)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x1048)" (( "(") (binary_expression "puVar5 + 0x1048" (identifier "puVar5") (+ "+") (number_literal "0x1048")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar5 + 0x1044) = 10;" (assignment_expression "*(undefined4 *)(puVar5 + 0x1044) = 10" (pointer_expression "*(undefined4 *)(puVar5 + 0x1044)" (* "*") (cast_expression "(undefined4 *)(puVar5 + 0x1044)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1044)" (( "(") (binary_expression "puVar5 + 0x1044" (identifier "puVar5") (+ "+") (number_literal "0x1044")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1)" (identifier "FUN_00062bdc") (argument_list "(puVar5,iVar11 + -0x890,uVar1)" (( "(") (identifier "puVar5") (, ",") (binary_expression "iVar11 + -0x890" (identifier "iVar11") (+ "+") (number_literal "-0x890")) (, ",") (identifier "uVar1") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar24 = *(code **)(puVar9 + 0xebb8c);" (assignment_expression "pcVar24 = *(code **)(puVar9 + 0xebb8c)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(puVar9 + 0xebb8c)" (* "*") (cast_expression "(code **)(puVar9 + 0xebb8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar9 + 0xebb8c)" (( "(") (binary_expression "puVar9 + 0xebb8c" (identifier "puVar9") (+ "+") (number_literal "0xebb8c")) () ")"))))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);" (assignment_expression "puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + -0x970)" (( "(") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + -0x970" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "-0x970")) () ")")))) (; ";")) (expression_statement "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);" (assignment_expression "puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar9 + 0xeb4a8) + 0x419c)" (( "(") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0x419c" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "0x419c")) () ")")))) (; ";")) (expression_statement "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);" (call_expression "(*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8)" (( "(") (identifier "puVar6") (, ",") (identifier "puVar2") (, ",") (number_literal "0xeec") (, ",") (binary_expression "*(int *)(puVar9 + 0xeb4a8) + 0xcc8" (pointer_expression "*(int *)(puVar9 + 0xeb4a8)" (* "*") (cast_expression "(int *)(puVar9 + 0xeb4a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + 0xeb4a8)" (( "(") (binary_expression "puVar9 + 0xeb4a8" (identifier "puVar9") (+ "+") (number_literal "0xeb4a8")) () ")")))) (+ "+") (number_literal "0xcc8")) () ")"))) (; ";")) (expression_statement "piVar22 = *(int **)(pcVar24 + 0xeb7ac);" (assignment_expression "piVar22 = *(int **)(pcVar24 + 0xeb7ac)" (identifier "piVar22") (= "=") (pointer_expression "*(int **)(pcVar24 + 0xeb7ac)" (* "*") (cast_expression "(int **)(pcVar24 + 0xeb7ac)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb7ac)" (( "(") (binary_expression "pcVar24 + 0xeb7ac" (identifier "pcVar24") (+ "+") (number_literal "0xeb7ac")) () ")"))))) (; ";")) (expression_statement "puStack_9c = (undefined4 *)*piVar22;" (assignment_expression "puStack_9c = (undefined4 *)*piVar22" (identifier "puStack_9c") (= "=") (cast_expression "(undefined4 *)*piVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")))) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb804);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb804)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb804)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb804)" (( "(") (binary_expression "pcVar24 + 0xeb804" (identifier "pcVar24") (+ "+") (number_literal "0xeb804")) () ")"))))) (; ";")) (expression_statement "puVar8 = puVar6;" (assignment_expression "puVar8 = puVar6" (identifier "puVar8") (= "=") (identifier "puVar6")) (; ";")) (expression_statement "puStack_98 = unaff_s0;" (assignment_expression "puStack_98 = unaff_s0" (identifier "puStack_98") (= "=") (identifier "unaff_s0")) (; ";")) (if_statement "if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)) {\n    FUN_00062838();\n  }\n  else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" (if "if") (parenthesized_expression "((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0))" (( "(") (binary_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&\n     (*(double *)(puVar2 + 0x12) == 0.0)" (parenthesized_expression "(((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0))" (( "(") (binary_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&\n      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" (parenthesized_expression "((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0))" (( "(") (binary_expression "(*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)" (parenthesized_expression "(*(double *)(puVar2 + 10) == 0.0)" (( "(") (binary_expression "*(double *)(puVar2 + 10) == 0.0" (pointer_expression "*(double *)(puVar2 + 10)" (* "*") (cast_expression "(double *)(puVar2 + 10)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 10)" (( "(") (binary_expression "puVar2 + 10" (identifier "puVar2") (+ "+") (number_literal "10")) () ")")))) (== "==") (number_literal "0.0")) () ")")) (&& "&&") (parenthesized_expression "(*(double *)(puVar2 + 0xc) == 0.0)" (( "(") (binary_expression "*(double *)(puVar2 + 0xc) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xc)" (* "*") (cast_expression "(double *)(puVar2 + 0xc)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xc)" (( "(") (binary_expression "puVar2 + 0xc" (identifier "puVar2") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0.0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)" (( "(") (comma_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb804)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb804)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb804)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb804)" (( "(") (binary_expression "pcVar24 + 0xeb804" (identifier "pcVar24") (+ "+") (number_literal "0xeb804")) () ")"))))) (, ",") (binary_expression "*(double *)(puVar2 + 0xe) == 0.0" (pointer_expression "*(double *)(puVar2 + 0xe)" (* "*") (cast_expression "(double *)(puVar2 + 0xe)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xe)" (( "(") (binary_expression "puVar2 + 0xe" (identifier "puVar2") (+ "+") (number_literal "0xe")) () ")")))) (== "==") (number_literal "0.0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(double *)(puVar2 + 0x12) == 0.0)" (( "(") (binary_expression "*(double *)(puVar2 + 0x12) == 0.0" (pointer_expression "*(double *)(puVar2 + 0x12)" (* "*") (cast_expression "(double *)(puVar2 + 0x12)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x12)" (( "(") (binary_expression "puVar2 + 0x12" (identifier "puVar2") (+ "+") (number_literal "0x12")) () ")")))) (== "==") (number_literal "0.0")) () ")"))) () ")")) (compound_statement "{\n    FUN_00062838();\n  }" ({ "{") (expression_statement "FUN_00062838();" (call_expression "FUN_00062838()" (identifier "FUN_00062838") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" (else "else") (compound_statement "{\n    (*pcVar25)(puVar6[0x401],auStack_10f8);\n    uStack_10f4 = 0x17;\n    dStack_10b0 = *(double *)(puVar2 + 0x12);\n    uStack_10d0 = *(undefined8 *)(puVar2 + 10);\n    uStack_10f0 = 4;\n    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);\n    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);\n    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }\n    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);\n    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);\n  }" ({ "{") (expression_statement "(*pcVar25)(puVar6[0x401],auStack_10f8);" (call_expression "(*pcVar25)(puVar6[0x401],auStack_10f8)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar6[0x401],auStack_10f8)" (( "(") (subscript_expression "puVar6[0x401]" (identifier "puVar6") ([ "[") (number_literal "0x401") (] "]")) (, ",") (identifier "auStack_10f8") () ")"))) (; ";")) (expression_statement "uStack_10f4 = 0x17;" (assignment_expression "uStack_10f4 = 0x17" (identifier "uStack_10f4") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "dStack_10b0 = *(double *)(puVar2 + 0x12);" (assignment_expression "dStack_10b0 = *(double *)(puVar2 + 0x12)" (identifier "dStack_10b0") (= "=") (pointer_expression "*(double *)(puVar2 + 0x12)" (* "*") (cast_expression "(double *)(puVar2 + 0x12)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0x12)" (( "(") (binary_expression "puVar2 + 0x12" (identifier "puVar2") (+ "+") (number_literal "0x12")) () ")"))))) (; ";")) (expression_statement "uStack_10d0 = *(undefined8 *)(puVar2 + 10);" (assignment_expression "uStack_10d0 = *(undefined8 *)(puVar2 + 10)" (identifier "uStack_10d0") (= "=") (pointer_expression "*(undefined8 *)(puVar2 + 10)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 10)" (( "(") (binary_expression "puVar2 + 10" (identifier "puVar2") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "uStack_10f0 = 4;" (assignment_expression "uStack_10f0 = 4" (identifier "uStack_10f0") (= "=") (number_literal "4")) (; ";")) (expression_statement "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);" (assignment_expression "uStack_10c8 = *(undefined8 *)(puVar2 + 0xc)" (identifier "uStack_10c8") (= "=") (pointer_expression "*(undefined8 *)(puVar2 + 0xc)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 0xc)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xc)" (( "(") (binary_expression "puVar2 + 0xc" (identifier "puVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);" (assignment_expression "uStack_10c0 = *(undefined8 *)(puVar2 + 0xe)" (identifier "uStack_10c0") (= "=") (pointer_expression "*(undefined8 *)(puVar2 + 0xe)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 0xe)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xe)" (( "(") (binary_expression "puVar2 + 0xe" (identifier "puVar2") (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {\n      uStack_10f0 = 0;\n    }" (if "if") (parenthesized_expression "(dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0))" (( "(") (binary_expression "dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" (identifier "dStack_10b0") (== "==") (pointer_expression "*(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" (* "*") (cast_expression "(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)" (( "(") (binary_expression "*(int *)(pcVar24 + 0xeb30c) + 0x75f0" (pointer_expression "*(int *)(pcVar24 + 0xeb30c)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb30c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb30c)" (( "(") (binary_expression "pcVar24 + 0xeb30c" (identifier "pcVar24") (+ "+") (number_literal "0xeb30c")) () ")")))) (+ "+") (number_literal "0x75f0")) () ")"))))) () ")")) (compound_statement "{\n      uStack_10f0 = 0;\n    }" ({ "{") (expression_statement "uStack_10f0 = 0;" (assignment_expression "uStack_10f0 = 0" (identifier "uStack_10f0") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);" (call_expression "(**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb608))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb608)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb608)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb608)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb608)" (( "(") (binary_expression "pcVar24 + 0xeb608" (identifier "pcVar24") (+ "+") (number_literal "0xeb608")) () ")"))))) () ")")) (argument_list "(auStack_10f8,1,auStack_109c)" (( "(") (identifier "auStack_10f8") (, ",") (number_literal "1") (, ",") (identifier "auStack_109c") () ")"))) (; ";")) (expression_statement "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);" (call_expression "FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" (identifier "FUN_00062838") (argument_list "(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c)" (( "(") (identifier "puVar6") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb310) + -0x131c" (pointer_expression "*(int *)(pcVar24 + 0xeb310)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb310)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb310)" (( "(") (binary_expression "pcVar24 + 0xeb310" (identifier "pcVar24") (+ "+") (number_literal "0xeb310")) () ")")))) (+ "+") (number_literal "-0x131c")) (, ",") (identifier "auStack_109c") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar20 = auStack_10f8;" (assignment_expression "puVar20 = auStack_10f8" (identifier "puVar20") (= "=") (identifier "auStack_10f8")) (; ";")) (if_statement "if (puStack_9c == (undefined4 *)*piVar22) {\n    return (undefined4 *)*piVar22;\n  }" (if "if") (parenthesized_expression "(puStack_9c == (undefined4 *)*piVar22)" (( "(") (binary_expression "puStack_9c == (undefined4 *)*piVar22" (identifier "puStack_9c") (== "==") (cast_expression "(undefined4 *)*piVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar22" (* "*") (identifier "piVar22")))) () ")")) (compound_statement "{\n    return (undefined4 *)*piVar22;\n  }" ({ "{") (return_statement "return (undefined4 *)*piVar22;" (return "return") (cast_expression "(undefined4 *)*piVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar22" (* "*") (identifier "piVar22"))) (; ";")) (} "}"))) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb66c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb66c)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb66c)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb66c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb66c)" (( "(") (binary_expression "pcVar24 + 0xeb66c" (identifier "pcVar24") (+ "+") (number_literal "0xeb66c")) () ")"))))) (; ";")) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeb490);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeb800);\n      puVar8[0x403] = 0;\n      puVar8[0x404] = 0;\n      puVar8[0x405] = 0;\n      puVar8[0x406] = 0;\n      puVar8[0x407] = 0;\n      puVar8[0x40c] = 0;\n      puVar8[0x40a] = 0;\n      puVar8[0x40b] = 0;\n      puVar8[0x408] = 0;\n      puVar8[0x409] = 0;\n      puVar8[0x40d] = 0;\n      iVar11 = (*pcVar25)(1,4);\n      puVar8[0x40e] = iVar11;\n      if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }\n      puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);\n      return puVar2;\n    }" ({ "{") (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4);" (call_expression "(**(code **)(pcVar24 + 0xeb5fc))\n                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb5fc))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb5fc)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb5fc)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb5fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb5fc)" (( "(") (binary_expression "pcVar24 + 0xeb5fc" (identifier "pcVar24") (+ "+") (number_literal "0xeb5fc")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54\n                   ,0x1a4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "0x1a54")) (, ",") (number_literal "0x1a4") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" (identifier "iVar11") (= "=") (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]"))) (; ";")) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" (( "(") (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")) (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb4ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb4ac)" (( "(") (binary_expression "pcVar24 + 0xeb4ac" (identifier "pcVar24") (+ "+") (number_literal "0xeb4ac")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" (identifier "iVar11") (= "=") (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]"))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)puVar8[0x40e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb4ac))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb4ac))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb4ac)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb4ac)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb4ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb4ac)" (( "(") (binary_expression "pcVar24 + 0xeb4ac" (identifier "pcVar24") (+ "+") (number_literal "0xeb4ac")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" (identifier "uVar7") (= "=") (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]"))) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb490);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb490)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb490)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb490)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb490)" (( "(") (binary_expression "pcVar24 + 0xeb490" (identifier "pcVar24") (+ "+") (number_literal "0xeb490")) () ")"))))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" (identifier "uVar1") (= "=") (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" (if "if") (parenthesized_expression "(puVar8[0x407] != 0)" (( "(") (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" (identifier "puVar8") ([ "[") (number_literal "0x407") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb508))();\n        puVar8[0x407] = uVar1;\n      }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb508))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb508)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb508)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb508)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb508)" (( "(") (binary_expression "pcVar24 + 0xeb508" (identifier "pcVar24") (+ "+") (number_literal "0xeb508")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" (identifier "puVar8") ([ "[") (number_literal "0x407") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb508))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb508))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb508)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb508)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb508)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb508)" (( "(") (binary_expression "pcVar24 + 0xeb508" (identifier "pcVar24") (+ "+") (number_literal "0xeb508")) () ")"))))) () ")")) (argument_list "(puVar8[0x403])" (( "(") (subscript_expression "puVar8[0x403]" (identifier "puVar8") ([ "[") (number_literal "0x403") (] "]")) () ")")))) (; ";")) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" (identifier "puVar8") ([ "[") (number_literal "0x403") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {\n        puVar8[0x401] = 0;\n      }\n      else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" (if "if") (parenthesized_expression "((puVar8[0x413] == 0) || (puVar8[0x401] == 0))" (( "(") (binary_expression "(puVar8[0x413] == 0) || (puVar8[0x401] == 0)" (parenthesized_expression "(puVar8[0x413] == 0)" (( "(") (binary_expression "puVar8[0x413] == 0" (subscript_expression "puVar8[0x413]" (identifier "puVar8") ([ "[") (number_literal "0x413") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar8[0x401] == 0)" (( "(") (binary_expression "puVar8[0x401] == 0" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        puVar8[0x401] = 0;\n      }" ({ "{") (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" (else "else") (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeb458))();\n        puVar8[0x401] = uVar1;\n      }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb458))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb458))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb458))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb458))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb458)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb458)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb458)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb458)" (( "(") (binary_expression "pcVar24 + 0xeb458" (identifier "pcVar24") (+ "+") (number_literal "0xeb458")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}")))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb800);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb800)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb800)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb800)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb800)" (( "(") (binary_expression "pcVar24 + 0xeb800" (identifier "pcVar24") (+ "+") (number_literal "0xeb800")) () ")"))))) (; ";")) (expression_statement "puVar8[0x403] = 0;" (assignment_expression "puVar8[0x403] = 0" (subscript_expression "puVar8[0x403]" (identifier "puVar8") ([ "[") (number_literal "0x403") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x404] = 0;" (assignment_expression "puVar8[0x404] = 0" (subscript_expression "puVar8[0x404]" (identifier "puVar8") ([ "[") (number_literal "0x404") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x405] = 0;" (assignment_expression "puVar8[0x405] = 0" (subscript_expression "puVar8[0x405]" (identifier "puVar8") ([ "[") (number_literal "0x405") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x406] = 0;" (assignment_expression "puVar8[0x406] = 0" (subscript_expression "puVar8[0x406]" (identifier "puVar8") ([ "[") (number_literal "0x406") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x407] = 0;" (assignment_expression "puVar8[0x407] = 0" (subscript_expression "puVar8[0x407]" (identifier "puVar8") ([ "[") (number_literal "0x407") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x40c] = 0;" (assignment_expression "puVar8[0x40c] = 0" (subscript_expression "puVar8[0x40c]" (identifier "puVar8") ([ "[") (number_literal "0x40c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x40a] = 0;" (assignment_expression "puVar8[0x40a] = 0" (subscript_expression "puVar8[0x40a]" (identifier "puVar8") ([ "[") (number_literal "0x40a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x40b] = 0;" (assignment_expression "puVar8[0x40b] = 0" (subscript_expression "puVar8[0x40b]" (identifier "puVar8") ([ "[") (number_literal "0x40b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x408] = 0;" (assignment_expression "puVar8[0x408] = 0" (subscript_expression "puVar8[0x408]" (identifier "puVar8") ([ "[") (number_literal "0x408") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x409] = 0;" (assignment_expression "puVar8[0x409] = 0" (subscript_expression "puVar8[0x409]" (identifier "puVar8") ([ "[") (number_literal "0x409") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x40d] = 0;" (assignment_expression "puVar8[0x40d] = 0" (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar11 = (*pcVar25)(1,4);" (assignment_expression "iVar11 = (*pcVar25)(1,4)" (identifier "iVar11") (= "=") (call_expression "(*pcVar25)(1,4)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(1,4)" (( "(") (number_literal "1") (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "puVar8[0x40e] = iVar11;" (assignment_expression "puVar8[0x40e] = iVar11" (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (iVar11 != 0) {\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar19 = puVar8[0x40d];\n        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);\n        uVar7 = puVar8[0x402];\n        puVar8[0x40f] = 1;\n        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;\n        puVar8[0x410] = 0;\n        puVar8[0x411] = 0;\n        pcVar25 = *(code **)(pcVar24 + 0xeb898);\n        puVar8[0x412] = 0;\n        uVar1 = (*pcVar25)(0,uVar7);\n        pcVar25 = *(code **)(pcVar24 + 0xeb548);\n        puVar8[0x401] = uVar1;\n        (*pcVar25)(puVar8[0x402]);\n        pcVar24 = *(code **)(pcVar24 + 0xeb97c);\n        puVar8[0x413] = 1;\n        puVar2 = (undefined4 *)(*pcVar24)();\n        puVar8[0x414] = puVar2;\n        return puVar2;\n      }" ({ "{") (expression_statement "iVar19 = puVar8[0x40d];" (assignment_expression "iVar19 = puVar8[0x40d]" (identifier "iVar19") (= "=") (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]"))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeb618))(0,0)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb618))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb618)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb618)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb618)" (( "(") (binary_expression "pcVar24 + 0xeb618" (identifier "pcVar24") (+ "+") (number_literal "0xeb618")) () ")"))))) () ")")) (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar7 = puVar8[0x402];" (assignment_expression "uVar7 = puVar8[0x402]" (identifier "uVar7") (= "=") (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]"))) (; ";")) (expression_statement "puVar8[0x40f] = 1;" (assignment_expression "puVar8[0x40f] = 1" (subscript_expression "puVar8[0x40f]" (identifier "puVar8") ([ "[") (number_literal "0x40f") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;" (assignment_expression "*(undefined4 *)(iVar11 + iVar19 * 4) = uVar1" (pointer_expression "*(undefined4 *)(iVar11 + iVar19 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar11 + iVar19 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar19 * 4)" (( "(") (binary_expression "iVar11 + iVar19 * 4" (identifier "iVar11") (+ "+") (binary_expression "iVar19 * 4" (identifier "iVar19") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "puVar8[0x410] = 0;" (assignment_expression "puVar8[0x410] = 0" (subscript_expression "puVar8[0x410]" (identifier "puVar8") ([ "[") (number_literal "0x410") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8[0x411] = 0;" (assignment_expression "puVar8[0x411] = 0" (subscript_expression "puVar8[0x411]" (identifier "puVar8") ([ "[") (number_literal "0x411") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb898);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb898)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb898)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb898)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb898)" (( "(") (binary_expression "pcVar24 + 0xeb898" (identifier "pcVar24") (+ "+") (number_literal "0xeb898")) () ")"))))) (; ";")) (expression_statement "puVar8[0x412] = 0;" (assignment_expression "puVar8[0x412] = 0" (subscript_expression "puVar8[0x412]" (identifier "puVar8") ([ "[") (number_literal "0x412") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = (*pcVar25)(0,uVar7);" (assignment_expression "uVar1 = (*pcVar25)(0,uVar7)" (identifier "uVar1") (= "=") (call_expression "(*pcVar25)(0,uVar7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(0,uVar7)" (( "(") (number_literal "0") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb548);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb548)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb548)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb548)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb548)" (( "(") (binary_expression "pcVar24 + 0xeb548" (identifier "pcVar24") (+ "+") (number_literal "0xeb548")) () ")"))))) (; ";")) (expression_statement "puVar8[0x401] = uVar1;" (assignment_expression "puVar8[0x401] = uVar1" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "(*pcVar25)(puVar8[0x402]);" (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar8[0x402])" (( "(") (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]")) () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar24 + 0xeb97c);" (assignment_expression "pcVar24 = *(code **)(pcVar24 + 0xeb97c)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb97c)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb97c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb97c)" (( "(") (binary_expression "pcVar24 + 0xeb97c" (identifier "pcVar24") (+ "+") (number_literal "0xeb97c")) () ")"))))) (; ";")) (expression_statement "puVar8[0x413] = 1;" (assignment_expression "puVar8[0x413] = 1" (subscript_expression "puVar8[0x413]" (identifier "puVar8") ([ "[") (number_literal "0x413") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar2 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar2 = (undefined4 *)(*pcVar24)()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(*pcVar24)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar8[0x414] = puVar2;" (assignment_expression "puVar8[0x414] = puVar2" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);" (assignment_expression "puVar2 = (undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)\n               (**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0xeb430))\n                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb430))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb430)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb430)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb430)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb430)" (( "(") (binary_expression "pcVar24 + 0xeb430" (identifier "pcVar24") (+ "+") (number_literal "0xeb430")) () ")"))))) () ")")) (argument_list "(puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,\n                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1)" (( "(") (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a54" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "0x1a54")) (, ",") (number_literal "0x1c1") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);" (call_expression "(**(code **)(pcVar24 + 0xeb894))\n              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb894))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb894)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb894)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb894)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb894)" (( "(") (binary_expression "pcVar24 + 0xeb894" (identifier "pcVar24") (+ "+") (number_literal "0xeb894")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,\n               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (( "(") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x1a2") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "0x1a68")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb894);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb894)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb894)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb894)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb894)" (( "(") (binary_expression "pcVar24 + 0xeb894" (identifier "pcVar24") (+ "+") (number_literal "0xeb894")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "-0x954"))) (; ";")) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x1a1") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeb1b0) + 0x1a68" (pointer_expression "*(int *)(pcVar24 + 0xeb1b0)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeb1b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1b0)" (( "(") (binary_expression "pcVar24 + 0xeb1b0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1b0")) () ")")))) (+ "+") (number_literal "0x1a68")) () ")"))) (; ";")) (if_statement "if (iVar11 != 0) {\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }\n    (**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);\n  }" ({ "{") (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" (* "*") (cast_expression "(int *)(iVar11 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1054)" (( "(") (binary_expression "iVar11 + 0x1054" (identifier "iVar11") (+ "+") (number_literal "0x1054")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);\n      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;\n      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);\n      uVar1 = (**(code **)(pcVar25 + 0xeb334))();\n      *puVar2 = uVar1;\n      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);\n      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);\n      puVar2[0x402] = uVar1;\n      (*pcVar24)(uVar1,uVar7);\n      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));\n      pcVar24 = *(code **)(pcVar25 + 0xeb434);\n      puVar2[0x403] = uVar1;\n      uVar1 = (*pcVar24)(uVar1);\n      iVar19 = *(int *)(&DAT_00001014 + iVar11);\n      uVar7 = *(undefined4 *)(iVar11 + 0x101c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb704);\n      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);\n      puVar2[0x404] = iVar19 + 1;\n      puVar2[0x405] = uVar1;\n      uVar1 = (*pcVar24)(uVar7);\n      iVar19 = *(int *)(iVar11 + 0x1034);\n      uVar18 = *(undefined4 *)(iVar11 + 0x1030);\n      uVar17 = *(undefined4 *)(iVar11 + 0x1020);\n      uVar16 = *(undefined4 *)(iVar11 + 0x1024);\n      uVar15 = *(undefined4 *)(iVar11 + 0x1028);\n      uVar7 = *(undefined4 *)(iVar11 + 0x102c);\n      pcVar24 = *(code **)(pcVar25 + 0xeb544);\n      puVar2[0x407] = uVar1;\n      puVar2[0x40c] = uVar18;\n      puVar2[0x408] = uVar17;\n      puVar2[0x409] = uVar16;\n      puVar2[0x40a] = uVar15;\n      puVar2[0x40b] = uVar7;\n      puVar2[0x40d] = iVar19;\n      iVar19 = (*pcVar24)(iVar19 + 1,4);\n      puVar2[0x40e] = iVar19;\n      if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }\n      uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n      (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n      uVar7 = 0x207;\n      do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );\n    }" ({ "{") (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" (* "*") (cast_expression "(int *)(iVar11 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1050)" (( "(") (binary_expression "iVar11 + 0x1050" (identifier "iVar11") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb340)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb340)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb340)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb340)" (( "(") (binary_expression "pcVar25 + 0xeb340" (identifier "pcVar25") (+ "+") (number_literal "0xeb340")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c\n                   ,0x1f0)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x1a2c")) (, ",") (number_literal "0x1f0") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0xeb784))(0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb784))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb784)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb784)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb784)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb784)" (( "(") (binary_expression "pcVar25 + 0xeb784" (identifier "pcVar25") (+ "+") (number_literal "0xeb784")) () ")"))))) () ")")) (argument_list "(0x1058)" (( "(") (number_literal "0x1058") () ")"))))) (; ";")) (if_statement "if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;" (if "if") (parenthesized_expression "(puVar2 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar2 == (undefined4 *)0x0" (identifier "puVar2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000644e0;" (goto "goto") (statement_identifier "LAB_000644e0") (; ";"))) (expression_statement "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);" (call_expression "(**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb64c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb64c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb64c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb64c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb64c)" (( "(") (binary_expression "pcVar25 + 0xeb64c" (identifier "pcVar25") (+ "+") (number_literal "0xeb64c")) () ")"))))) () ")")) (argument_list "(puVar2,0,0x1058)" (( "(") (identifier "puVar2") (, ",") (number_literal "0") (, ",") (number_literal "0x1058") () ")"))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb334))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb334))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb334))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb334))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb334)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb334)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb334)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb334)" (( "(") (binary_expression "pcVar25 + 0xeb334" (identifier "pcVar25") (+ "+") (number_literal "0xeb334")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);" (call_expression "(**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb038))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb038)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb038)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb038)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb038)" (( "(") (binary_expression "pcVar25 + 0xeb038" (identifier "pcVar25") (+ "+") (number_literal "0xeb038")) () ")"))))) () ")")) (argument_list "(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818)" (( "(") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1")) (, ",") (number_literal "0x1000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x818" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x818")) () ")"))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb158)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb158)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb158)" (( "(") (binary_expression "pcVar25 + 0xeb158" (identifier "pcVar25") (+ "+") (number_literal "0xeb158")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar11)" (( "(") (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar11")) () ")"))))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5a8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5a8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb5a8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb5a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb5a8)" (( "(") (binary_expression "pcVar25 + 0xeb5a8" (identifier "pcVar25") (+ "+") (number_literal "0xeb5a8")) () ")"))))) (; ";")) (expression_statement "puVar2[0x402] = uVar1;" (assignment_expression "puVar2[0x402] = uVar1" (subscript_expression "puVar2[0x402]" (identifier "puVar2") ([ "[") (number_literal "0x402") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "(*pcVar24)(uVar1,uVar7);" (call_expression "(*pcVar24)(uVar1,uVar7)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(uVar1,uVar7)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb704))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb704)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb704)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb704)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb704)" (( "(") (binary_expression "pcVar25 + 0xeb704" (identifier "pcVar25") (+ "+") (number_literal "0xeb704")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar11 + 0x100c))" (( "(") (pointer_expression "*(undefined4 *)(iVar11 + 0x100c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x100c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x100c)" (( "(") (binary_expression "iVar11 + 0x100c" (identifier "iVar11") (+ "+") (number_literal "0x100c")) () ")")))) () ")")))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb434);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb434)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb434)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb434)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb434)" (( "(") (binary_expression "pcVar25 + 0xeb434" (identifier "pcVar25") (+ "+") (number_literal "0xeb434")) () ")"))))) (; ";")) (expression_statement "puVar2[0x403] = uVar1;" (assignment_expression "puVar2[0x403] = uVar1" (subscript_expression "puVar2[0x403]" (identifier "puVar2") ([ "[") (number_literal "0x403") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = (*pcVar24)(uVar1);" (assignment_expression "uVar1 = (*pcVar24)(uVar1)" (identifier "uVar1") (= "=") (call_expression "(*pcVar24)(uVar1)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)(&DAT_00001014 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001014 + iVar11)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(&DAT_00001014 + iVar11)" (* "*") (cast_expression "(int *)(&DAT_00001014 + iVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001014 + iVar11)" (( "(") (binary_expression "&DAT_00001014 + iVar11" (pointer_expression "&DAT_00001014" (& "&") (identifier "DAT_00001014")) (+ "+") (identifier "iVar11")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x101c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x101c)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x101c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x101c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x101c)" (( "(") (binary_expression "iVar11 + 0x101c" (identifier "iVar11") (+ "+") (number_literal "0x101c")) () ")"))))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb704);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb704)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb704)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb704)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb704)" (( "(") (binary_expression "pcVar25 + 0xeb704" (identifier "pcVar25") (+ "+") (number_literal "0xeb704")) () ")"))))) (; ";")) (expression_statement "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);" (assignment_expression "puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11)" (subscript_expression "puVar2[0x406]" (identifier "puVar2") ([ "[") (number_literal "0x406") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001018 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001018 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001018 + iVar11)" (( "(") (binary_expression "&DAT_00001018 + iVar11" (pointer_expression "&DAT_00001018" (& "&") (identifier "DAT_00001018")) (+ "+") (identifier "iVar11")) () ")"))))) (; ";")) (expression_statement "puVar2[0x404] = iVar19 + 1;" (assignment_expression "puVar2[0x404] = iVar19 + 1" (subscript_expression "puVar2[0x404]" (identifier "puVar2") ([ "[") (number_literal "0x404") (] "]")) (= "=") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar2[0x405] = uVar1;" (assignment_expression "puVar2[0x405] = uVar1" (subscript_expression "puVar2[0x405]" (identifier "puVar2") ([ "[") (number_literal "0x405") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = (*pcVar24)(uVar7);" (assignment_expression "uVar1 = (*pcVar24)(uVar7)" (identifier "uVar1") (= "=") (call_expression "(*pcVar24)(uVar7)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar19 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar19 = *(int *)(iVar11 + 0x1034)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(iVar11 + 0x1034)" (* "*") (cast_expression "(int *)(iVar11 + 0x1034)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1034)" (( "(") (binary_expression "iVar11 + 0x1034" (identifier "iVar11") (+ "+") (number_literal "0x1034")) () ")"))))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)(iVar11 + 0x1030);" (assignment_expression "uVar18 = *(undefined4 *)(iVar11 + 0x1030)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1030)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1030)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1030)" (( "(") (binary_expression "iVar11 + 0x1030" (identifier "iVar11") (+ "+") (number_literal "0x1030")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)(iVar11 + 0x1020);" (assignment_expression "uVar17 = *(undefined4 *)(iVar11 + 0x1020)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1020)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1020)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1020)" (( "(") (binary_expression "iVar11 + 0x1020" (identifier "iVar11") (+ "+") (number_literal "0x1020")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(undefined4 *)(iVar11 + 0x1024);" (assignment_expression "uVar16 = *(undefined4 *)(iVar11 + 0x1024)" (identifier "uVar16") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1024)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1024)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1024)" (( "(") (binary_expression "iVar11 + 0x1024" (identifier "iVar11") (+ "+") (number_literal "0x1024")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1028);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1028)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1028)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1028)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1028)" (( "(") (binary_expression "iVar11 + 0x1028" (identifier "iVar11") (+ "+") (number_literal "0x1028")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(iVar11 + 0x102c);" (assignment_expression "uVar7 = *(undefined4 *)(iVar11 + 0x102c)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x102c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x102c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x102c)" (( "(") (binary_expression "iVar11 + 0x102c" (identifier "iVar11") (+ "+") (number_literal "0x102c")) () ")"))))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb544);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb544)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb544)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb544)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb544)" (( "(") (binary_expression "pcVar25 + 0xeb544" (identifier "pcVar25") (+ "+") (number_literal "0xeb544")) () ")"))))) (; ";")) (expression_statement "puVar2[0x407] = uVar1;" (assignment_expression "puVar2[0x407] = uVar1" (subscript_expression "puVar2[0x407]" (identifier "puVar2") ([ "[") (number_literal "0x407") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "puVar2[0x40c] = uVar18;" (assignment_expression "puVar2[0x40c] = uVar18" (subscript_expression "puVar2[0x40c]" (identifier "puVar2") ([ "[") (number_literal "0x40c") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar2[0x408] = uVar17;" (assignment_expression "puVar2[0x408] = uVar17" (subscript_expression "puVar2[0x408]" (identifier "puVar2") ([ "[") (number_literal "0x408") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "puVar2[0x409] = uVar16;" (assignment_expression "puVar2[0x409] = uVar16" (subscript_expression "puVar2[0x409]" (identifier "puVar2") ([ "[") (number_literal "0x409") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puVar2[0x40a] = uVar15;" (assignment_expression "puVar2[0x40a] = uVar15" (subscript_expression "puVar2[0x40a]" (identifier "puVar2") ([ "[") (number_literal "0x40a") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "puVar2[0x40b] = uVar7;" (assignment_expression "puVar2[0x40b] = uVar7" (subscript_expression "puVar2[0x40b]" (identifier "puVar2") ([ "[") (number_literal "0x40b") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar2[0x40d] = iVar19;" (assignment_expression "puVar2[0x40d] = iVar19" (subscript_expression "puVar2[0x40d]" (identifier "puVar2") ([ "[") (number_literal "0x40d") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (expression_statement "iVar19 = (*pcVar24)(iVar19 + 1,4);" (assignment_expression "iVar19 = (*pcVar24)(iVar19 + 1,4)" (identifier "iVar19") (= "=") (call_expression "(*pcVar24)(iVar19 + 1,4)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(iVar19 + 1,4)" (( "(") (binary_expression "iVar19 + 1" (identifier "iVar19") (+ "+") (number_literal "1")) (, ",") (number_literal "4") () ")")))) (; ";")) (expression_statement "puVar2[0x40e] = iVar19;" (assignment_expression "puVar2[0x40e] = iVar19" (subscript_expression "puVar2[0x40e]" (identifier "puVar2") ([ "[") (number_literal "0x40e") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }\n        uVar15 = *(undefined4 *)(iVar11 + 0x1040);\n        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);\n        uVar1 = *(undefined4 *)(iVar11 + 0x1048);\n        iVar19 = *(int *)(&DAT_00001004 + iVar11);\n        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);\n        puVar2[0x410] = uVar15;\n        puVar2[0x411] = uVar7;\n        puVar2[0x412] = uVar1;\n        puVar2[0x401] = iVar19;\n        if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }\n        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);\n        puVar2[0x413] = 1;\n        iVar11 = (*pcVar24)();\n        puVar2[0x414] = iVar11;\n        if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }\n        puVar2[0x415] = 0xabacadab;\n        return puVar2;\n      }" ({ "{") (if_statement "if (-1 < *(int *)(iVar11 + 0x1034)) {\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar11 + 0x1034))" (( "(") (binary_expression "-1 < *(int *)(iVar11 + 0x1034)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar11 + 0x1034)" (* "*") (cast_expression "(int *)(iVar11 + 0x1034)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1034)" (( "(") (binary_expression "iVar11 + 0x1034" (identifier "iVar11") (+ "+") (number_literal "0x1034")) () ")"))))) () ")")) (compound_statement "{\n          iVar23 = 0;\n          while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }\n        }" ({ "{") (expression_statement "iVar23 = 0;" (assignment_expression "iVar23 = 0" (identifier "iVar23") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            iVar12 = iVar23 * 4;\n            iVar23 = iVar23 + 1;\n            uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));\n            iVar4 = *(int *)(iVar11 + 0x1034);\n            *(undefined4 *)(iVar19 + iVar12) = uVar1;\n            if (iVar4 < iVar23) break;\n            iVar19 = puVar2[0x40e];\n          }" ({ "{") (expression_statement "iVar12 = iVar23 * 4;" (assignment_expression "iVar12 = iVar23 * 4" (identifier "iVar12") (= "=") (binary_expression "iVar23 * 4" (identifier "iVar23") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar23 = iVar23 + 1;" (assignment_expression "iVar23 = iVar23 + 1" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb35c))\n                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb35c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb35c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb35c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb35c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb35c)" (( "(") (binary_expression "pcVar25 + 0xeb35c" (identifier "pcVar25") (+ "+") (number_literal "0xeb35c")) () ")"))))) () ")")) (argument_list "(0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12))" (( "(") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar11 + 0x1038) + iVar12)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1038) + iVar12" (pointer_expression "*(int *)(iVar11 + 0x1038)" (* "*") (cast_expression "(int *)(iVar11 + 0x1038)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1038)" (( "(") (binary_expression "iVar11 + 0x1038" (identifier "iVar11") (+ "+") (number_literal "0x1038")) () ")")))) (+ "+") (identifier "iVar12")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar11 + 0x1034);" (assignment_expression "iVar4 = *(int *)(iVar11 + 0x1034)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar11 + 0x1034)" (* "*") (cast_expression "(int *)(iVar11 + 0x1034)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1034)" (( "(") (binary_expression "iVar11 + 0x1034" (identifier "iVar11") (+ "+") (number_literal "0x1034")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar19 + iVar12) = uVar1;" (assignment_expression "*(undefined4 *)(iVar19 + iVar12) = uVar1" (pointer_expression "*(undefined4 *)(iVar19 + iVar12)" (* "*") (cast_expression "(undefined4 *)(iVar19 + iVar12)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar12)" (( "(") (binary_expression "iVar19 + iVar12" (identifier "iVar19") (+ "+") (identifier "iVar12")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (iVar4 < iVar23) break;" (if "if") (parenthesized_expression "(iVar4 < iVar23)" (( "(") (binary_expression "iVar4 < iVar23" (identifier "iVar4") (< "<") (identifier "iVar23")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar19 = puVar2[0x40e];" (assignment_expression "iVar19 = puVar2[0x40e]" (identifier "iVar19") (= "=") (subscript_expression "puVar2[0x40e]" (identifier "puVar2") ([ "[") (number_literal "0x40e") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar15 = *(undefined4 *)(iVar11 + 0x1040);" (assignment_expression "uVar15 = *(undefined4 *)(iVar11 + 0x1040)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1040)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1040)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1040)" (( "(") (binary_expression "iVar11 + 0x1040" (identifier "iVar11") (+ "+") (number_literal "0x1040")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001044 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001044 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001044 + iVar11)" (( "(") (binary_expression "&DAT_00001044 + iVar11" (pointer_expression "&DAT_00001044" (& "&") (identifier "DAT_00001044")) (+ "+") (identifier "iVar11")) () ")"))))) (; ";")) (expression_statement "uVar1 = *(undefined4 *)(iVar11 + 0x1048);" (assignment_expression "uVar1 = *(undefined4 *)(iVar11 + 0x1048)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x1048)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x1048)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1048)" (( "(") (binary_expression "iVar11 + 0x1048" (identifier "iVar11") (+ "+") (number_literal "0x1048")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(&DAT_00001004 + iVar11);" (assignment_expression "iVar19 = *(int *)(&DAT_00001004 + iVar11)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(&DAT_00001004 + iVar11)" (* "*") (cast_expression "(int *)(&DAT_00001004 + iVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001004 + iVar11)" (( "(") (binary_expression "&DAT_00001004 + iVar11" (pointer_expression "&DAT_00001004" (& "&") (identifier "DAT_00001004")) (+ "+") (identifier "iVar11")) () ")"))))) (; ";")) (expression_statement "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);" (assignment_expression "puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c)" (subscript_expression "puVar2[0x40f]" (identifier "puVar2") ([ "[") (number_literal "0x40f") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x103c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x103c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x103c)" (( "(") (binary_expression "iVar11 + 0x103c" (identifier "iVar11") (+ "+") (number_literal "0x103c")) () ")"))))) (; ";")) (expression_statement "puVar2[0x410] = uVar15;" (assignment_expression "puVar2[0x410] = uVar15" (subscript_expression "puVar2[0x410]" (identifier "puVar2") ([ "[") (number_literal "0x410") (] "]")) (= "=") (identifier "uVar15")) (; ";")) (expression_statement "puVar2[0x411] = uVar7;" (assignment_expression "puVar2[0x411] = uVar7" (subscript_expression "puVar2[0x411]" (identifier "puVar2") ([ "[") (number_literal "0x411") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar2[0x412] = uVar1;" (assignment_expression "puVar2[0x412] = uVar1" (subscript_expression "puVar2[0x412]" (identifier "puVar2") ([ "[") (number_literal "0x412") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "puVar2[0x401] = iVar19;" (assignment_expression "puVar2[0x401] = iVar19" (subscript_expression "puVar2[0x401]" (identifier "puVar2") ([ "[") (number_literal "0x401") (] "]")) (= "=") (identifier "iVar19")) (; ";")) (if_statement "if (iVar19 != 0) {\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);\n          puVar2[0x401] = uVar1;\n        }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb70c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb70c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb70c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb70c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb70c)" (( "(") (binary_expression "pcVar25 + 0xeb70c" (identifier "pcVar25") (+ "+") (number_literal "0xeb70c")) () ")"))))) () ")")) (argument_list "(iVar19,0,0,1)" (( "(") (identifier "iVar19") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "puVar2[0x401] = uVar1;" (assignment_expression "puVar2[0x401] = uVar1" (subscript_expression "puVar2[0x401]" (identifier "puVar2") ([ "[") (number_literal "0x401") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb6c0);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb6c0)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb6c0)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb6c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb6c0)" (( "(") (binary_expression "pcVar25 + 0xeb6c0" (identifier "pcVar25") (+ "+") (number_literal "0xeb6c0")) () ")"))))) (; ";")) (expression_statement "puVar2[0x413] = 1;" (assignment_expression "puVar2[0x413] = 1" (subscript_expression "puVar2[0x413]" (identifier "puVar2") ([ "[") (number_literal "0x413") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar11 = (*pcVar24)();" (assignment_expression "iVar11 = (*pcVar24)()" (identifier "iVar11") (= "=") (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2[0x414] = iVar11;" (assignment_expression "puVar2[0x414] = iVar11" (subscript_expression "puVar2[0x414]" (identifier "puVar2") ([ "[") (number_literal "0x414") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (if_statement "if (iVar11 != 0) {\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);\n        }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);" (call_expression "(**(code **)(pcVar25 + 0xeb340))\n                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb340))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb340)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb340)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb340)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb340)" (( "(") (binary_expression "pcVar25 + 0xeb340" (identifier "pcVar25") (+ "+") (number_literal "0xeb340")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,\n                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x1a2c")) (, ",") (number_literal "0x216") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2[0x415] = 0xabacadab;" (assignment_expression "puVar2[0x415] = 0xabacadab" (subscript_expression "puVar2[0x415]" (identifier "puVar2") ([ "[") (number_literal "0x415") (] "]")) (= "=") (number_literal "0xabacadab")) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb158)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb158)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb158)" (( "(") (binary_expression "pcVar25 + 0xeb158" (identifier "pcVar25") (+ "+") (number_literal "0xeb158")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb814)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb814)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb814)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb814)" (( "(") (binary_expression "pcVar25 + 0xeb814" (identifier "pcVar25") (+ "+") (number_literal "0xeb814")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb488)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb488)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb488)" (( "(") (binary_expression "pcVar25 + 0xeb488" (identifier "pcVar25") (+ "+") (number_literal "0xeb488")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (expression_statement "uVar7 = 0x207;" (assignment_expression "uVar7 = 0x207" (identifier "uVar7") (= "=") (number_literal "0x207")) (; ";")) (do_statement "do {\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      } while( true );" (do "do") (compound_statement "{\n        (**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);\n        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);\n        (**(code **)(pcVar25 + 0xeb00c))(uVar1);\n        (**(code **)(pcVar25 + 0xeb688))();\n        (**(code **)(pcVar25 + 0xeb61c))(1);\nLAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();\n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();\n        (**(code **)(pcVar25 + 0xeb488))(*puVar2);\n        uVar7 = 500;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7);" (call_expression "(**(code **)(pcVar25 + 0xeb174))\n                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb174))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb174)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb174)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb174)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb174)" (( "(") (binary_expression "pcVar25 + 0xeb174" (identifier "pcVar25") (+ "+") (number_literal "0xeb174")) () ")"))))) () ")")) (argument_list "(uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,\n                   uVar7)" (( "(") (identifier "uVar1") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a2c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x1a2c")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb3d8))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb3d8))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb3d8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb3d8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb3d8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb3d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb3d8)" (( "(") (binary_expression "pcVar25 + 0xeb3d8" (identifier "pcVar25") (+ "+") (number_literal "0xeb3d8")) () ")"))))) () ")")) (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb00c))(uVar1);" (call_expression "(**(code **)(pcVar25 + 0xeb00c))(uVar1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb00c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb00c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb00c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb00c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb00c)" (( "(") (binary_expression "pcVar25 + 0xeb00c" (identifier "pcVar25") (+ "+") (number_literal "0xeb00c")) () ")"))))) () ")")) (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb688))();" (call_expression "(**(code **)(pcVar25 + 0xeb688))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb688))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb688)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb688)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb688)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb688)" (( "(") (binary_expression "pcVar25 + 0xeb688" (identifier "pcVar25") (+ "+") (number_literal "0xeb688")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb61c))(1);" (call_expression "(**(code **)(pcVar25 + 0xeb61c))(1)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb61c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb61c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb61c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb61c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb61c)" (( "(") (binary_expression "pcVar25 + 0xeb61c" (identifier "pcVar25") (+ "+") (number_literal "0xeb61c")) () ")"))))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (labeled_statement "LAB_000644e0:\n        uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (statement_identifier "LAB_000644e0") (: ":") (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xeb158))();" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xeb158))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeb158))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb158))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb158)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb158)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb158)" (( "(") (binary_expression "pcVar25 + 0xeb158" (identifier "pcVar25") (+ "+") (number_literal "0xeb158")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xeb814))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0xeb814))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb814))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb814)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb814)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb814)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb814)" (( "(") (binary_expression "pcVar25 + 0xeb814" (identifier "pcVar25") (+ "+") (number_literal "0xeb814")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xeb488))(*puVar2);" (call_expression "(**(code **)(pcVar25 + 0xeb488))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb488))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb488)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb488)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb488)" (( "(") (binary_expression "pcVar25 + 0xeb488" (identifier "pcVar25") (+ "+") (number_literal "0xeb488")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")"))) (; ";")) (expression_statement "uVar7 = 500;" (assignment_expression "uVar7 = 500" (identifier "uVar7") (= "=") (number_literal "500")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);" (call_expression "(**(code **)(pcVar25 + 0xeb5d8))\n              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeb5d8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeb5d8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb5d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb5d8)" (( "(") (binary_expression "pcVar25 + 0xeb5d8" (identifier "pcVar25") (+ "+") (number_literal "0xeb5d8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,\n               *(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x1ee") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x1a40")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar24 = *(code **)(pcVar25 + 0xeb5d8);" (assignment_expression "pcVar24 = *(code **)(pcVar25 + 0xeb5d8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeb5d8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeb5d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeb5d8)" (( "(") (binary_expression "pcVar25 + 0xeb5d8" (identifier "pcVar25") (+ "+") (number_literal "0xeb5d8")) () ")"))))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xeaef4) + -0x954)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x954")) () ")")))) (; ";")) (expression_statement "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)\n  ;" (call_expression "(*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x1ed") (, ",") (binary_expression "*(int *)(pcVar25 + 0xeaef4) + 0x1a40" (pointer_expression "*(int *)(pcVar25 + 0xeaef4)" (* "*") (cast_expression "(int *)(pcVar25 + 0xeaef4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xeaef4)" (( "(") (binary_expression "pcVar25 + 0xeaef4" (identifier "pcVar25") (+ "+") (number_literal "0xeaef4")) () ")")))) (+ "+") (number_literal "0x1a40")) () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }\n    (**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }\n      iVar11 = puVar8[0x40d];\n      while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }\n      puVar2 = (undefined4 *)puVar8[0x40e];\n      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n      uVar7 = puVar8[0x40e];\n      pcVar25 = *(code **)(pcVar24 + 0xeadbc);\n      *puVar2 = uVar1;\n      uVar1 = (*pcVar25)(uVar7);\n      puVar8[0x40e] = uVar1;\n      if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }\n      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);\n      puVar8[0x403] = uVar1;\n      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }\n      pcVar25 = *(code **)(pcVar24 + 0xeabf4);\n      puVar8[0x401] = 0;\n      uVar1 = (*pcVar25)(puVar8[0x402]);\n      puVar8[0x402] = uVar1;\n      pcVar25 = *(code **)(pcVar24 + 0xeb000);\n      puVar8[0x415] = 0x54535254;\n      (*pcVar25)(*puVar8);\n                    \n                    \n      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);\n      return puVar2;\n    }" ({ "{") (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238);" (call_expression "(**(code **)(pcVar24 + 0xeaf28))\n                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeaf28))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeaf28)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeaf28)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeaf28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeaf28)" (( "(") (binary_expression "pcVar24 + 0xeaf28" (identifier "pcVar24") (+ "+") (number_literal "0xeaf28")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04\n                   ,0x238)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a04" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "0x1a04")) (, ",") (number_literal "0x238") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" (identifier "iVar11") (= "=") (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]"))) (; ";")) (while_statement "while (iVar11 != 0) {\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" (while "while") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);\n        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);\n        iVar11 = puVar8[0x40d];\n        *puVar2 = uVar1;\n        iVar11 = iVar11 + -1;\n        puVar8[0x40d] = iVar11;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);" (assignment_expression "puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(puVar8[0x40e] + iVar11 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8[0x40e] + iVar11 * 4)" (( "(") (binary_expression "puVar8[0x40e] + iVar11 * 4" (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")) (+ "+") (binary_expression "iVar11 * 4" (identifier "iVar11") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeadd8)" (( "(") (binary_expression "pcVar24 + 0xeadd8" (identifier "pcVar24") (+ "+") (number_literal "0xeadd8")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "iVar11 = puVar8[0x40d];" (assignment_expression "iVar11 = puVar8[0x40d]" (identifier "iVar11") (= "=") (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]"))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" (identifier "iVar11") (= "=") (binary_expression "iVar11 + -1" (identifier "iVar11") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar8[0x40d] = iVar11;" (assignment_expression "puVar8[0x40d] = iVar11" (subscript_expression "puVar8[0x40d]" (identifier "puVar8") ([ "[") (number_literal "0x40d") (] "]")) (= "=") (identifier "iVar11")) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)puVar8[0x40e];" (assignment_expression "puVar2 = (undefined4 *)puVar8[0x40e]" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)puVar8[0x40e]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")))) (; ";")) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeadd8))(*puVar2)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadd8))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeadd8)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeadd8)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeadd8)" (( "(") (binary_expression "pcVar24 + 0xeadd8" (identifier "pcVar24") (+ "+") (number_literal "0xeadd8")) () ")"))))) () ")")) (argument_list "(*puVar2)" (( "(") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) () ")")))) (; ";")) (expression_statement "uVar7 = puVar8[0x40e];" (assignment_expression "uVar7 = puVar8[0x40e]" (identifier "uVar7") (= "=") (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]"))) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeadbc);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeadbc)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeadbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeadbc)" (( "(") (binary_expression "pcVar24 + 0xeadbc" (identifier "pcVar24") (+ "+") (number_literal "0xeadbc")) () ")"))))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar1 = (*pcVar25)(uVar7);" (assignment_expression "uVar1 = (*pcVar25)(uVar7)" (identifier "uVar1") (= "=") (call_expression "(*pcVar25)(uVar7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "puVar8[0x40e] = uVar1;" (assignment_expression "puVar8[0x40e] = uVar1" (subscript_expression "puVar8[0x40e]" (identifier "puVar8") ([ "[") (number_literal "0x40e") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (puVar8[0x407] != 0) {\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" (if "if") (parenthesized_expression "(puVar8[0x407] != 0)" (( "(") (binary_expression "puVar8[0x407] != 0" (subscript_expression "puVar8[0x407]" (identifier "puVar8") ([ "[") (number_literal "0x407") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar1 = (**(code **)(pcVar24 + 0xeae34))();\n        puVar8[0x407] = uVar1;\n      }" ({ "{") (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))();" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))()" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeae34))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeae34)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeae34)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeae34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeae34)" (( "(") (binary_expression "pcVar24 + 0xeae34" (identifier "pcVar24") (+ "+") (number_literal "0xeae34")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar8[0x407] = uVar1;" (assignment_expression "puVar8[0x407] = uVar1" (subscript_expression "puVar8[0x407]" (identifier "puVar8") ([ "[") (number_literal "0x407") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (} "}"))) (expression_statement "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);" (assignment_expression "uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar24 + 0xeae34))(puVar8[0x403])" (parenthesized_expression "(**(code **)(pcVar24 + 0xeae34))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeae34)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeae34)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeae34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeae34)" (( "(") (binary_expression "pcVar24 + 0xeae34" (identifier "pcVar24") (+ "+") (number_literal "0xeae34")) () ")"))))) () ")")) (argument_list "(puVar8[0x403])" (( "(") (subscript_expression "puVar8[0x403]" (identifier "puVar8") ([ "[") (number_literal "0x403") (] "]")) () ")")))) (; ";")) (expression_statement "puVar8[0x403] = uVar1;" (assignment_expression "puVar8[0x403] = uVar1" (subscript_expression "puVar8[0x403]" (identifier "puVar8") ([ "[") (number_literal "0x403") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (if_statement "if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {\n        (**(code **)(pcVar24 + 0xead84))();\n      }" (if "if") (parenthesized_expression "((puVar8[0x413] != 0) && (puVar8[0x401] != 0))" (( "(") (binary_expression "(puVar8[0x413] != 0) && (puVar8[0x401] != 0)" (parenthesized_expression "(puVar8[0x413] != 0)" (( "(") (binary_expression "puVar8[0x413] != 0" (subscript_expression "puVar8[0x413]" (identifier "puVar8") ([ "[") (number_literal "0x413") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(puVar8[0x401] != 0)" (( "(") (binary_expression "puVar8[0x401] != 0" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar24 + 0xead84))();\n      }" ({ "{") (expression_statement "(**(code **)(pcVar24 + 0xead84))();" (call_expression "(**(code **)(pcVar24 + 0xead84))()" (parenthesized_expression "(**(code **)(pcVar24 + 0xead84))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xead84)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xead84)" (* "*") (cast_expression "(code **)(pcVar24 + 0xead84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xead84)" (( "(") (binary_expression "pcVar24 + 0xead84" (identifier "pcVar24") (+ "+") (number_literal "0xead84")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeabf4);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeabf4)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeabf4)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeabf4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeabf4)" (( "(") (binary_expression "pcVar24 + 0xeabf4" (identifier "pcVar24") (+ "+") (number_literal "0xeabf4")) () ")"))))) (; ";")) (expression_statement "puVar8[0x401] = 0;" (assignment_expression "puVar8[0x401] = 0" (subscript_expression "puVar8[0x401]" (identifier "puVar8") ([ "[") (number_literal "0x401") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = (*pcVar25)(puVar8[0x402]);" (assignment_expression "uVar1 = (*pcVar25)(puVar8[0x402])" (identifier "uVar1") (= "=") (call_expression "(*pcVar25)(puVar8[0x402])" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar8[0x402])" (( "(") (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]")) () ")")))) (; ";")) (expression_statement "puVar8[0x402] = uVar1;" (assignment_expression "puVar8[0x402] = uVar1" (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb000);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb000)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb000)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb000)" (( "(") (binary_expression "pcVar24 + 0xeb000" (identifier "pcVar24") (+ "+") (number_literal "0xeb000")) () ")"))))) (; ";")) (expression_statement "puVar8[0x415] = 0x54535254;" (assignment_expression "puVar8[0x415] = 0x54535254" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (= "=") (number_literal "0x54535254")) (; ";")) (expression_statement "(*pcVar25)(*puVar8);" (call_expression "(*pcVar25)(*puVar8)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0xeadbc))(puVar8)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeadbc))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeadbc)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeadbc)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeadbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeadbc)" (( "(") (binary_expression "pcVar24 + 0xeadbc" (identifier "pcVar24") (+ "+") (number_literal "0xeadbc")) () ")"))))) () ")")) (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(**(code **)(pcVar24 + 0xeb1c0))\n              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(**(code **)(pcVar24 + 0xeb1c0))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0xeb1c0)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb1c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1c0)" (( "(") (binary_expression "pcVar24 + 0xeb1c0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1c0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,\n               *(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (( "(") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x419c" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x236") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "0x1a18")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0xeb1c0);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0xeb1c0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0xeb1c0)" (* "*") (cast_expression "(code **)(pcVar24 + 0xeb1c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0xeb1c0)" (( "(") (binary_expression "pcVar24 + 0xeb1c0" (identifier "pcVar24") (+ "+") (number_literal "0xeb1c0")) () ")"))))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar24 + 0xeaadc) + -0x970)" (( "(") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x970" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "-0x970")) () ")")))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + -0x954" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "-0x954"))) (; ";")) (expression_statement "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);" (call_expression "(*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar8") (, ",") (number_literal "0x235") (, ",") (binary_expression "*(int *)(pcVar24 + 0xeaadc) + 0x1a18" (pointer_expression "*(int *)(pcVar24 + 0xeaadc)" (* "*") (cast_expression "(int *)(pcVar24 + 0xeaadc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0xeaadc)" (( "(") (binary_expression "pcVar24 + 0xeaadc" (identifier "pcVar24") (+ "+") (number_literal "0xeaadc")) () ")")))) (+ "+") (number_literal "0x1a18")) () ")"))) (; ";")) (if_statement "if (iVar11 == 0) {\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }\n  else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);\n  }" ({ "{") (labeled_statement "LAB_00064848:\n    (**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" (statement_identifier "LAB_00064848") (: ":") (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeaff4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeaff4)" (( "(") (binary_expression "pcVar25 + 0xeaff4" (identifier "pcVar25") (+ "+") (number_literal "0xeaff4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,\n               *(int *)(pcVar25 + 0xea910) + 0x19f8)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x267") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "0x19f8")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }\n    puVar2 = puVar8;\n    if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar11 + 0x1054) != -0x54535255) {\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1054) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" (* "*") (cast_expression "(int *)(iVar11 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1054)" (( "(") (binary_expression "iVar11 + 0x1054" (identifier "iVar11") (+ "+") (number_literal "0x1054")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);\n      goto LAB_00064848;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8);" (call_expression "(**(code **)(pcVar25 + 0xeaff4))\n                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaff4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeaff4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeaff4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeaff4)" (( "(") (binary_expression "pcVar25 + 0xeaff4" (identifier "pcVar25") (+ "+") (number_literal "0xeaff4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,\n                 *(int *)(pcVar25 + 0xea910) + 0x19f8)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x268") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "0x19f8")) () ")"))) (; ";")) (goto_statement "goto LAB_00064848;" (goto "goto") (statement_identifier "LAB_00064848") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" (* "*") (cast_expression "(int *)(iVar11 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1050)" (( "(") (binary_expression "iVar11 + 0x1050" (identifier "iVar11") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a);" (call_expression "(**(code **)(pcVar25 + 0xead5c))\n                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead5c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xead5c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xead5c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xead5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xead5c)" (( "(") (binary_expression "pcVar25 + 0xead5c" (identifier "pcVar25") (+ "+") (number_literal "0xead5c")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,\n                 0x26a)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19ec" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "0x19ec")) (, ",") (number_literal "0x26a") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00062640(iVar11,puVar8);\n      puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);\n      return puVar2;\n    }" ({ "{") (expression_statement "FUN_00062640(iVar11,puVar8);" (call_expression "FUN_00062640(iVar11,puVar8)" (identifier "FUN_00062640") (argument_list "(iVar11,puVar8)" (( "(") (identifier "iVar11") (, ",") (identifier "puVar8") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)\n               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" (identifier "FUN_00062838") (argument_list "(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1])" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x7dc" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x7dc")) (, ",") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (, ",") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar1 = 0x26b;" (assignment_expression "uVar1 = 0x26b" (identifier "uVar1") (= "=") (number_literal "0x26b")) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xeaff4);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xeaff4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xeaff4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeaff4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeaff4)" (( "(") (binary_expression "pcVar25 + 0xeaff4" (identifier "pcVar25") (+ "+") (number_literal "0xeaff4")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar25 + 0xea910) + 0x19f8" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "0x19f8"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xea910) + -0x804)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x804" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x804")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea910) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea910)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea910)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea910)" (( "(") (binary_expression "pcVar25 + 0xea910" (identifier "pcVar25") (+ "+") (number_literal "0xea910")) () ")")))) (+ "+") (number_literal "-0x970")) () ")"))) (; ";")) (expression_statement "pcVar24 = pcVar26 + 0xf2770;" (assignment_expression "pcVar24 = pcVar26 + 0xf2770" (identifier "pcVar24") (= "=") (binary_expression "pcVar26 + 0xf2770" (identifier "pcVar26") (+ "+") (number_literal "0xf2770"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }\n      (*pcVar24)(0x2f,uStack_11f0);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);\n      return puVar2;\n    }" ({ "{") (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea8d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea8d8)" (( "(") (binary_expression "pcVar26 + 0xea8d8" (identifier "pcVar26") (+ "+") (number_literal "0xea8d8")) () ")"))))) (; ";")) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);\n        pcVar24 = *(code **)(pcVar26 + 0xea8d8);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c);" (call_expression "(**(code **)(pcVar26 + 0xeabf8))\n                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabf8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xeabf8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xeabf8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xeabf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xeabf8)" (( "(") (binary_expression "pcVar26 + 0xeabf8" (identifier "pcVar26") (+ "+") (number_literal "0xeabf8")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c\n                   ,0x29c)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x199c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "0x199c")) (, ",") (number_literal "0x29c") () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea8d8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea8d8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea8d8)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea8d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea8d8)" (( "(") (binary_expression "pcVar26 + 0xea8d8" (identifier "pcVar26") (+ "+") (number_literal "0xea8d8")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(*pcVar24)(0x2f,uStack_11f0);" (call_expression "(*pcVar24)(0x2f,uStack_11f0)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(0x2f,uStack_11f0)" (( "(") (number_literal "0x2f") (, ",") (identifier "uStack_11f0") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" (identifier "FUN_00062838") (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x7b0" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "-0x7b0")) (, ",") (identifier "uVar1") (, ",") (identifier "iVar11") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);" (call_expression "(**(code **)(pcVar26 + 0xeae90))\n              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeae90))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xeae90)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xeae90)" (* "*") (cast_expression "(code **)(pcVar26 + 0xeae90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xeae90)" (( "(") (binary_expression "pcVar26 + 0xeae90" (identifier "pcVar26") (+ "+") (number_literal "0xeae90")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,\n               *(int *)(pcVar26 + 0xea7ac) + 0x19a8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x29a") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "0x19a8")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "uVar1 = 0x299;" (assignment_expression "uVar1 = 0x299" (identifier "uVar1") (= "=") (number_literal "0x299")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xeae90);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xeae90)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xeae90)" (* "*") (cast_expression "(code **)(pcVar26 + 0xeae90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xeae90)" (( "(") (binary_expression "pcVar26 + 0xeae90" (identifier "pcVar26") (+ "+") (number_literal "0xeae90")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + 0x19a8" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "0x19a8"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xea7ac) + -0x954)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "-0x954")) () ")")))) (; ";")) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea7ac) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea7ac)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea7ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea7ac)" (( "(") (binary_expression "pcVar26 + 0xea7ac" (identifier "pcVar26") (+ "+") (number_literal "0xea7ac")) () ")")))) (+ "+") (number_literal "-0x970")) () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }\n    (**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }\n      if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }\n      (**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);\n    }" ({ "{") (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7);" (call_expression "(**(code **)(pcVar25 + 0xeaac8))\n                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaac8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeaac8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeaac8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeaac8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeaac8)" (( "(") (binary_expression "pcVar25 + 0xeaac8" (identifier "pcVar25") (+ "+") (number_literal "0xeaac8")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c\n                   ,0x2c7)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x197c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "0x197c")) (, ",") (number_literal "0x2c7") () ")"))) (; ";")) (} "}"))) (if_statement "if (pcVar24 != (code *)0x0) {\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" (if "if") (parenthesized_expression "(pcVar24 != (code *)0x0)" (( "(") (binary_expression "pcVar24 != (code *)0x0" (identifier "pcVar24") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);\n        if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }\n        return (undefined4 *)0x0;\n      }" ({ "{") (expression_statement "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);" (assignment_expression "iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" (identifier "iVar19") (= "=") (call_expression "(**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27)" (parenthesized_expression "(**(code **)(pcVar25 + 0xeaf14))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xeaf14)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xeaf14)" (* "*") (cast_expression "(code **)(pcVar25 + 0xeaf14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xeaf14)" (( "(") (binary_expression "pcVar25 + 0xeaf14" (identifier "pcVar25") (+ "+") (number_literal "0xeaf14")) () ")"))))) () ")")) (argument_list "(pcVar24,0x27)" (( "(") (identifier "pcVar24") (, ",") (number_literal "0x27") () ")")))) (; ";")) (if_statement "if (iVar19 != 0) {\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" (if "if") (parenthesized_expression "(iVar19 != 0)" (( "(") (binary_expression "iVar19 != 0" (identifier "iVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);\n                    \n                    \n          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);\n          return puVar2;\n        }" ({ "{") (expression_statement "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);" (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" (identifier "FUN_00062838") (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x770" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x770")) (, ",") (identifier "uVar1") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0xea9d4))(iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea9d4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea9d4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea9d4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea9d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea9d4)" (( "(") (binary_expression "pcVar25 + 0xea9d4" (identifier "pcVar25") (+ "+") (number_literal "0xea9d4")) () ")"))))) () ")")) (argument_list "(iVar19)" (( "(") (identifier "iVar19") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (return_statement "return (undefined4 *)0x0;" (return "return") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xead60)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xead60)" (* "*") (cast_expression "(code **)(pcVar25 + 0xead60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xead60)" (( "(") (binary_expression "pcVar25 + 0xead60" (identifier "pcVar25") (+ "+") (number_literal "0xead60")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,\n                 *(int *)(pcVar25 + 0xea67c) + 0x198c)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x798" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x798")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x2c8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "0x198c")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c);" (call_expression "(**(code **)(pcVar25 + 0xead60))\n              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xead60))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xead60)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xead60)" (* "*") (cast_expression "(code **)(pcVar25 + 0xead60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xead60)" (( "(") (binary_expression "pcVar25 + 0xead60" (identifier "pcVar25") (+ "+") (number_literal "0xead60")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,\n               *(int *)(pcVar25 + 0xea67c) + 0x198c)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x2c5") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "0x198c")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "uVar1 = 0x2c4;" (assignment_expression "uVar1 = 0x2c4" (identifier "uVar1") (= "=") (number_literal "0x2c4")) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xead60);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xead60)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xead60)" (* "*") (cast_expression "(code **)(pcVar25 + 0xead60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xead60)" (( "(") (binary_expression "pcVar25 + 0xead60" (identifier "pcVar25") (+ "+") (number_literal "0xead60")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;" (assignment_expression "iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar25 + 0xea67c) + 0x198c" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "0x198c"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xea67c) + -0x954)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x954")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea67c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea67c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea67c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea67c)" (( "(") (binary_expression "pcVar25 + 0xea67c" (identifier "pcVar25") (+ "+") (number_literal "0xea67c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x2c4") (, ",") (identifier "iVar11") () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);\n      return puVar2;\n    }" ({ "{") (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb);" (call_expression "(**(code **)(pcVar26 + 0xea93c))\n                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea93c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xea93c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xea93c)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea93c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea93c)" (( "(") (binary_expression "pcVar26 + 0xea93c" (identifier "pcVar26") (+ "+") (number_literal "0xea93c")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c\n                   ,0x2fb)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x196c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "0x196c")) (, ",") (number_literal "0x2fb") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" (identifier "FUN_00062838") (argument_list "(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x758" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "-0x758")) (, ",") (identifier "uVar1") (, ",") (identifier "iVar11") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974);" (call_expression "(**(code **)(pcVar26 + 0xeabd4))\n              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" (parenthesized_expression "(**(code **)(pcVar26 + 0xeabd4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xeabd4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" (* "*") (cast_expression "(code **)(pcVar26 + 0xeabd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xeabd4)" (( "(") (binary_expression "pcVar26 + 0xeabd4" (identifier "pcVar26") (+ "+") (number_literal "0xeabd4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,\n               *(int *)(pcVar26 + 0xea4f0) + 0x1974)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x2f9") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + 0x1974" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "0x1974")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar25 = (code *)0x2f8;" (assignment_expression "pcVar25 = (code *)0x2f8" (identifier "pcVar25") (= "=") (cast_expression "(code *)0x2f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2f8"))) (; ";")) (expression_statement "pcVar27 = *(code **)(pcVar26 + 0xeabd4);" (assignment_expression "pcVar27 = *(code **)(pcVar26 + 0xeabd4)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xeabd4)" (* "*") (cast_expression "(code **)(pcVar26 + 0xeabd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xeabd4)" (( "(") (binary_expression "pcVar26 + 0xeabd4" (identifier "pcVar26") (+ "+") (number_literal "0xeabd4")) () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);" (assignment_expression "puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x970)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "-0x970")) () ")")))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0xea4f0) + -0x954)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea4f0) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea4f0)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea4f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea4f0)" (( "(") (binary_expression "pcVar26 + 0xea4f0" (identifier "pcVar26") (+ "+") (number_literal "0xea4f0")) () ")")))) (+ "+") (number_literal "-0x954")) () ")")))) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar8 == (undefined4 *)0x0) {\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }\n  else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" (if "if") (parenthesized_expression "(puVar8 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 == (undefined4 *)0x0" (identifier "puVar8") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n  }" ({ "{") (labeled_statement "LAB_00064d78:\n    (**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (statement_identifier "LAB_00064d78") (: ":") (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" (* "*") (cast_expression "(code **)(pcVar27 + 0xeaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0xeaa8c)" (( "(") (binary_expression "pcVar27 + 0xeaa8c" (identifier "pcVar27") (+ "+") (number_literal "0xeaa8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,\n               *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (( "(") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x31e") (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "0x1960")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" (else "else") (compound_statement "{\n    puVar2 = puVar8;\n    if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }\n    if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }\n    pcVar24 = pcVar25;\n    puVar20 = puVar13;\n    if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }\n  }" ({ "{") (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (if_statement "if (puVar8[0x415] != -0x54535255) {\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] != -0x54535255)" (( "(") (binary_expression "puVar8[0x415] != -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);\n      goto LAB_00064d78;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);" (call_expression "(**(code **)(pcVar27 + 0xeaa8c))\n                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (parenthesized_expression "(**(code **)(pcVar27 + 0xeaa8c))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0xeaa8c)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" (* "*") (cast_expression "(code **)(pcVar27 + 0xeaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0xeaa8c)" (( "(") (binary_expression "pcVar27 + 0xeaa8c" (identifier "pcVar27") (+ "+") (number_literal "0xeaa8c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,\n                 *(int *)(pcVar27 + 0xea3a8) + 0x1960)" (( "(") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x419c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "799") (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "0x1960")) () ")"))) (; ";")) (goto_statement "goto LAB_00064d78;" (goto "goto") (statement_identifier "LAB_00064d78") (; ";")) (} "}"))) (if_statement "if (puVar8[0x414] != 0) {\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321);" (call_expression "(**(code **)(pcVar27 + 0xea7f4))\n                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" (parenthesized_expression "(**(code **)(pcVar27 + 0xea7f4))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0xea7f4)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0xea7f4)" (* "*") (cast_expression "(code **)(pcVar27 + 0xea7f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0xea7f4)" (( "(") (binary_expression "pcVar27 + 0xea7f4" (identifier "pcVar27") (+ "+") (number_literal "0xea7f4")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,\n                 0x321)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1954" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "0x1954")) (, ",") (number_literal "0x321") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar24 = pcVar25;" (assignment_expression "pcVar24 = pcVar25" (identifier "pcVar24") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "puVar20 = puVar13;" (assignment_expression "puVar20 = puVar13" (identifier "puVar20") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (pcVar25 != (code *)0x0) {\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(pcVar25 != (code *)0x0)" (( "(") (binary_expression "pcVar25 != (code *)0x0" (identifier "pcVar25") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);\n      return puVar2;\n    }" ({ "{") (expression_statement "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);" (assignment_expression "puVar2 = (undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)\n               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" (identifier "FUN_00062d58") (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x704" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x704")) (, ",") (identifier "puVar13") (, ",") (identifier "pcVar25") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar1 = 0x322;" (assignment_expression "uVar1 = 0x322" (identifier "uVar1") (= "=") (number_literal "0x322")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar27 + 0xeaa8c);" (assignment_expression "pcVar25 = *(code **)(pcVar27 + 0xeaa8c)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar27 + 0xeaa8c)" (* "*") (cast_expression "(code **)(pcVar27 + 0xeaa8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0xeaa8c)" (( "(") (binary_expression "pcVar27 + 0xeaa8c" (identifier "pcVar27") (+ "+") (number_literal "0xeaa8c")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;" (assignment_expression "iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + 0x1960" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "0x1960"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar27 + 0xea3a8) + -0x72c)" (( "(") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x72c" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x72c")) () ")")))) (; ";")) (expression_statement "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);" (call_expression "(*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar27 + 0xea3a8) + -0x970" (pointer_expression "*(int *)(pcVar27 + 0xea3a8)" (* "*") (cast_expression "(int *)(pcVar27 + 0xea3a8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0xea3a8)" (( "(") (binary_expression "pcVar27 + 0xea3a8" (identifier "pcVar27") (+ "+") (number_literal "0xea3a8")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x322") (, ",") (identifier "iVar11") () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }\n    (**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);\n      return puVar2;\n    }" ({ "{") (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b);" (call_expression "(**(code **)(pcVar25 + 0xea6c8))\n                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea6c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea6c8)" (( "(") (binary_expression "pcVar25 + 0xea6c8" (identifier "pcVar25") (+ "+") (number_literal "0xea6c8")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928\n                   ,0x34b)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1928" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "0x1928")) (, ",") (number_literal "0x34b") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" (identifier "FUN_00062838") (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x6fc" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "-0x6fc")) (, ",") (identifier "uVar1") (, ",") (identifier "iVar11") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934);" (call_expression "(**(code **)(pcVar25 + 0xea960))\n              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea960))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea960)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea960)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea960)" (( "(") (binary_expression "pcVar25 + 0xea960" (identifier "pcVar25") (+ "+") (number_literal "0xea960")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,\n               *(int *)(pcVar25 + 0xea27c) + 0x1934)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x349") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "0x1934")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea960);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea960)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xea960)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea960)" (( "(") (binary_expression "pcVar25 + 0xea960" (identifier "pcVar25") (+ "+") (number_literal "0xea960")) () ")"))))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xea27c) + -0x954)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "-0x954")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)\n  ;" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x348") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea27c) + 0x1934" (pointer_expression "*(int *)(pcVar25 + 0xea27c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea27c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea27c)" (( "(") (binary_expression "pcVar25 + 0xea27c" (identifier "pcVar25") (+ "+") (number_literal "0xea27c")) () ")")))) (+ "+") (number_literal "0x1934")) () ")"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }\n    (**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);\n    puVar2 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }\n      (*pcVar24)(puVar8[0x402]);\n      return (undefined4 *)0x1;\n    }" ({ "{") (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea4ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea4ec)" (( "(") (binary_expression "pcVar26 + 0xea4ec" (identifier "pcVar26") (+ "+") (number_literal "0xea4ec")) () ")"))))) (; ";")) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);\n        pcVar24 = *(code **)(pcVar26 + 0xea4ec);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a);" (call_expression "(**(code **)(pcVar26 + 0xea5a0))\n                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea5a0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xea5a0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xea5a0)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea5a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea5a0)" (( "(") (binary_expression "pcVar26 + 0xea5a0" (identifier "pcVar26") (+ "+") (number_literal "0xea5a0")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900\n                   ,0x36a)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1900" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "0x1900")) (, ",") (number_literal "0x36a") () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea4ec);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea4ec)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea4ec)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea4ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea4ec)" (( "(") (binary_expression "pcVar26 + 0xea4ec" (identifier "pcVar26") (+ "+") (number_literal "0xea4ec")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(*pcVar24)(puVar8[0x402]);" (call_expression "(*pcVar24)(puVar8[0x402])" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(puVar8[0x402])" (( "(") (subscript_expression "puVar8[0x402]" (identifier "puVar8") ([ "[") (number_literal "0x402") (] "]")) () ")"))) (; ";")) (return_statement "return (undefined4 *)0x1;" (return "return") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914);" (call_expression "(**(code **)(pcVar26 + 0xea838))\n              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea838))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xea838)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xea838)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea838)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea838)" (( "(") (binary_expression "pcVar26 + 0xea838" (identifier "pcVar26") (+ "+") (number_literal "0xea838")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,\n               *(int *)(pcVar26 + 0xea154) + 0x1914)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x368") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "0x1914")) () ")"))) (; ";")) (expression_statement "puVar2 = puVar8;" (assignment_expression "puVar2 = puVar8" (identifier "puVar2") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea838);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea838)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea838)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea838)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea838)" (( "(") (binary_expression "pcVar26 + 0xea838" (identifier "pcVar26") (+ "+") (number_literal "0xea838")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x954" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "-0x954"))) (; ";")) (expression_statement "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)\n  ;" (call_expression "(*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x367") (, ",") (binary_expression "*(int *)(pcVar26 + 0xea154) + 0x1914" (pointer_expression "*(int *)(pcVar26 + 0xea154)" (* "*") (cast_expression "(int *)(pcVar26 + 0xea154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xea154)" (( "(") (binary_expression "pcVar26 + 0xea154" (identifier "pcVar26") (+ "+") (number_literal "0xea154")) () ")")))) (+ "+") (number_literal "0x1914")) () ")"))) (; ";")) (if_statement "if (iVar11 == 0) {\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }\n  else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;\n    (**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);\n  }" ({ "{") (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8" (identifier "iVar19") (= "=") (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x18e8" (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")")))) (+ "+") (number_literal "0x18e8"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19);" (call_expression "(**(code **)(pcVar25 + 0xea758))\n              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea758))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea758)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea758)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea758)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea758)" (( "(") (binary_expression "pcVar25 + 0xea758" (identifier "pcVar25") (+ "+") (number_literal "0xea758")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,\n               iVar19)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")")))) (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x387") (, ",") (identifier "iVar19") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    iVar19 = *(int *)(pcVar25 + 0xea074);\n    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }\n  }" ({ "{") (expression_statement "iVar19 = *(int *)(pcVar25 + 0xea074);" (assignment_expression "iVar19 = *(int *)(pcVar25 + 0xea074)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" (* "*") (cast_expression "(int *)(iVar11 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1054)" (( "(") (binary_expression "iVar11 + 0x1054" (identifier "iVar11") (+ "+") (number_literal "0x1054")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }\n      return (undefined4 *)0x0;\n    }" ({ "{") (if_statement "if (*(int *)(&DAT_00001008 + iVar11) != 0) {\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" (if "if") (parenthesized_expression "(*(int *)(&DAT_00001008 + iVar11) != 0)" (( "(") (binary_expression "*(int *)(&DAT_00001008 + iVar11) != 0" (pointer_expression "*(int *)(&DAT_00001008 + iVar11)" (* "*") (cast_expression "(int *)(&DAT_00001008 + iVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar11)" (( "(") (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar11")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();\n        return puVar2;\n      }" ({ "{") (expression_statement "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();" (assignment_expression "puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar25 + 0xea928))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar25 + 0xea928))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea928))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea928)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea928)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea928)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea928)" (( "(") (binary_expression "pcVar25 + 0xea928" (identifier "pcVar25") (+ "+") (number_literal "0xea928")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (return_statement "return (undefined4 *)0x0;" (return "return") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar1 = 0x388;" (assignment_expression "uVar1 = 0x388" (identifier "uVar1") (= "=") (number_literal "0x388")) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar25 + 0xea758);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + 0xea758)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar25 + 0xea758)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea758)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea758)" (( "(") (binary_expression "pcVar25 + 0xea758" (identifier "pcVar25") (+ "+") (number_literal "0xea758")) () ")"))))) (; ";")) (expression_statement "iVar19 = iVar19 + 0x18e8;" (assignment_expression "iVar19 = iVar19 + 0x18e8" (identifier "iVar19") (= "=") (binary_expression "iVar19 + 0x18e8" (identifier "iVar19") (+ "+") (number_literal "0x18e8"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);" (assignment_expression "puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0xea074) + 0x419c)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xea074) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")")))) (+ "+") (number_literal "0x419c")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);" (call_expression "(*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar25 + 0xea074) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xea074)" (* "*") (cast_expression "(int *)(pcVar25 + 0xea074)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xea074)" (( "(") (binary_expression "pcVar25 + 0xea074" (identifier "pcVar25") (+ "+") (number_literal "0xea074")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x388") (, ",") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "puStack_1418 = puVar2;" (assignment_expression "puStack_1418 = puVar2" (identifier "puStack_1418") (= "=") (identifier "puVar2")) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }\n    (**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);\n    puStack_1418 = puVar8;\n  }" ({ "{") (if_statement "if (puVar8[0x415] == -0x54535255) {\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" (if "if") (parenthesized_expression "(puVar8[0x415] == -0x54535255)" (( "(") (binary_expression "puVar8[0x415] == -0x54535255" (subscript_expression "puVar8[0x415]" (identifier "puVar8") ([ "[") (number_literal "0x415") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      pcVar24 = *(code **)(pcVar26 + 0xea108);\n      if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }\n      (*pcVar24)(0x2f,uStack_1390);\n      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);\n      return puVar2;\n    }" ({ "{") (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea108)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea108)" (( "(") (binary_expression "pcVar26 + 0xea108" (identifier "pcVar26") (+ "+") (number_literal "0xea108")) () ")"))))) (; ";")) (if_statement "if (puVar8[0x414] != 0) {\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" (if "if") (parenthesized_expression "(puVar8[0x414] != 0)" (( "(") (binary_expression "puVar8[0x414] != 0" (subscript_expression "puVar8[0x414]" (identifier "puVar8") ([ "[") (number_literal "0x414") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);\n        pcVar24 = *(code **)(pcVar26 + 0xea108);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8);" (call_expression "(**(code **)(pcVar26 + 0xea428))\n                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea428))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xea428)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xea428)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea428)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea428)" (( "(") (binary_expression "pcVar26 + 0xea428" (identifier "pcVar26") (+ "+") (number_literal "0xea428")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0\n                   ,0x3b8)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18d0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "0x18d0")) (, ",") (number_literal "0x3b8") () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0xea108);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0xea108)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea108)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea108)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea108)" (( "(") (binary_expression "pcVar26 + 0xea108" (identifier "pcVar26") (+ "+") (number_literal "0xea108")) () ")"))))) (; ";")) (} "}"))) (expression_statement "(*pcVar24)(0x2f,uStack_1390);" (call_expression "(*pcVar24)(0x2f,uStack_1390)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(0x2f,uStack_1390)" (( "(") (number_literal "0x2f") (, ",") (identifier "uStack_1390") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" (identifier "FUN_00062838") (argument_list "(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19)" (( "(") (identifier "puVar8") (, ",") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6c0" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "-0x6c0")) (, ",") (identifier "uVar1") (, ",") (identifier "iVar19") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);" (call_expression "(**(code **)(pcVar26 + 0xea6c0))\n              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" (parenthesized_expression "(**(code **)(pcVar26 + 0xea6c0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0xea6c0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea6c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea6c0)" (( "(") (binary_expression "pcVar26 + 0xea6c0" (identifier "pcVar26") (+ "+") (number_literal "0xea6c0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,\n               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc)" (( "(") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x419c" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x3b6") (, ",") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + 0x18dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "0x18dc")) () ")"))) (; ";")) (expression_statement "puStack_1418 = puVar8;" (assignment_expression "puStack_1418 = puVar8" (identifier "puStack_1418") (= "=") (identifier "puVar8")) (; ";")) (} "}"))) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0xea6c0);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0xea6c0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar26 + 0xea6c0)" (* "*") (cast_expression "(code **)(pcVar26 + 0xea6c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0xea6c0)" (( "(") (binary_expression "pcVar26 + 0xea6c0" (identifier "pcVar26") (+ "+") (number_literal "0xea6c0")) () ")"))))) (; ";")) (expression_statement "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;" (assignment_expression "iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970" (identifier "iVar19") (= "=") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x970" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "-0x970"))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;" (assignment_expression "iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar26 + 0xe9fdc) + -0x6dc" (pointer_expression "*(int *)(pcVar26 + 0xe9fdc)" (* "*") (cast_expression "(int *)(pcVar26 + 0xe9fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0xe9fdc)" (( "(") (binary_expression "pcVar26 + 0xe9fdc" (identifier "pcVar26") (+ "+") (number_literal "0xe9fdc")) () ")")))) (+ "+") (number_literal "-0x6dc"))) (; ";")) (expression_statement "(*pcVar25)(iVar11,iVar19);" (call_expression "(*pcVar25)(iVar11,iVar19)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(iVar11,iVar19)" (( "(") (identifier "iVar11") (, ",") (identifier "iVar19") () ")"))) (; ";")) (expression_statement "piVar21 = *(int **)(pcVar25 + 0xea33c);" (assignment_expression "piVar21 = *(int **)(pcVar25 + 0xea33c)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar25 + 0xea33c)" (* "*") (cast_expression "(int **)(pcVar25 + 0xea33c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea33c)" (( "(") (binary_expression "pcVar25 + 0xea33c" (identifier "pcVar25") (+ "+") (number_literal "0xea33c")) () ")"))))) (; ";")) (expression_statement "iStack_141c = *piVar21;" (assignment_expression "iStack_141c = *piVar21" (identifier "iStack_141c") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "puStack_1410 = puVar20;" (assignment_expression "puStack_1410 = puVar20" (identifier "puStack_1410") (= "=") (identifier "puVar20")) (; ";")) (expression_statement "piStack_140c = piVar22;" (assignment_expression "piStack_140c = piVar22" (identifier "piStack_140c") (= "=") (identifier "piVar22")) (; ";")) (expression_statement "puStack_1408 = puVar6;" (assignment_expression "puStack_1408 = puVar6" (identifier "puStack_1408") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_0006557c;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006557c;" (goto "goto") (statement_identifier "LAB_0006557c") (; ";"))) (if_statement "if (*(int *)(iVar11 + 0x1054) == -0x54535255) {\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1054) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1054) == -0x54535255" (pointer_expression "*(int *)(iVar11 + 0x1054)" (* "*") (cast_expression "(int *)(iVar11 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1054)" (( "(") (binary_expression "iVar11 + 0x1054" (identifier "iVar11") (+ "+") (number_literal "0x1054")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }\n    if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }\n    (**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);\n  }" ({ "{") (if_statement "if (*(int *)(iVar11 + 0x1050) != 0) {\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar11 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 0x1050) != 0" (pointer_expression "*(int *)(iVar11 + 0x1050)" (* "*") (cast_expression "(int *)(iVar11 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1050)" (( "(") (binary_expression "iVar11 + 0x1050" (identifier "iVar11") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea2f8))\n                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2f8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea2f8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea2f8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea2f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea2f8)" (( "(") (binary_expression "pcVar25 + 0xea2f8" (identifier "pcVar25") (+ "+") (number_literal "0xea2f8")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,\n                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x18b0")) (, ",") (number_literal "0x408") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9ea0) + -0x131c" (pointer_expression "*(int *)(pcVar25 + 0xe9ea0)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9ea0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9ea0)" (( "(") (binary_expression "pcVar25 + 0xe9ea0" (identifier "pcVar25") (+ "+") (number_literal "0xe9ea0")) () ")")))) (+ "+") (number_literal "-0x131c")) (, ",") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (if_statement "if (pcVar24 != (code *)0x0) {\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" (if "if") (parenthesized_expression "(pcVar24 != (code *)0x0)" (( "(") (binary_expression "pcVar24 != (code *)0x0" (identifier "pcVar24") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);\n      if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }\n      if (iStack_141c == *piVar21) {\n        return puVar2;\n      }\n      (**(code **)(pcVar25 + 0xea1fc))();\n    }" ({ "{") (expression_statement "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);" (assignment_expression "iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24)" (identifier "iVar23") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea19c))(pcVar24)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea19c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea19c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea19c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea19c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea19c)" (( "(") (binary_expression "pcVar25 + 0xea19c" (identifier "pcVar25") (+ "+") (number_literal "0xea19c")) () ")"))))) () ")")) (argument_list "(pcVar24)" (( "(") (identifier "pcVar24") () ")")))) (; ";")) (if_statement "if ((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }\n      else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" (if "if") (parenthesized_expression "((iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0))" (( "(") (binary_expression "(iVar23 == 0) ||\n         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea6c4))\n                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea6c4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea6c4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea6c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea6c4)" (( "(") (binary_expression "pcVar25 + 0xea6c4" (identifier "pcVar25") (+ "+") (number_literal "0xea6c4")) () ")"))))) () ")")) (argument_list "(iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11))" (( "(") (identifier "iVar23") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar11)" (( "(") (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar11")) () ")")))) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_000654a8:\n        puVar2 = (undefined4 *)0x0;\n      }" ({ "{") (labeled_statement "LAB_000654a8:\n        puVar2 = (undefined4 *)0x0;" (statement_identifier "LAB_000654a8") (: ":") (expression_statement "puVar2 = (undefined4 *)0x0;" (assignment_expression "puVar2 = (undefined4 *)0x0" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" (else "else") (compound_statement "{\n        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();\n        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;\n        uStack_2424 = 0x800;\n        iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));\n        (**(code **)(pcVar25 + 0xea574))(iVar12);\n        (**(code **)(pcVar25 + 0xea500))(iVar4);\n        if (iVar3 == 0) goto LAB_000654a8;\n        iStack_2420 = 0;\n        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);\n        (**(code **)(pcVar25 + 0xea18c))(iVar3);\n        if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }\n        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);\n        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);\n        if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }\n        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);\n        (**(code **)(pcVar25 + 0xea204))(uVar7);\n        (**(code **)(pcVar25 + 0xea204))(iVar4);\n        puVar2 = (undefined4 *)0x1;\n      }" ({ "{") (expression_statement "iVar12 = (**(code **)(pcVar25 + 0xea2e4))();" (assignment_expression "iVar12 = (**(code **)(pcVar25 + 0xea2e4))()" (identifier "iVar12") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea2e4))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea2e4))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea2e4)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea2e4)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea2e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea2e4)" (( "(") (binary_expression "pcVar25 + 0xea2e4" (identifier "pcVar25") (+ "+") (number_literal "0xea2e4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)\n        ;" (call_expression "(**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea6c8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea6c8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea6c8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea6c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea6c8)" (( "(") (binary_expression "pcVar25 + 0xea6c8" (identifier "pcVar25") (+ "+") (number_literal "0xea6c8")) () ")"))))) () ")")) (argument_list "(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)" (( "(") (binary_expression "iVar12 + 0x210" (identifier "iVar12") (+ "+") (number_literal "0x210")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x684" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x684")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "uStack_2424 = 0x800;" (assignment_expression "uStack_2424 = 0x800" (identifier "uStack_2424") (= "=") (number_literal "0x800")) (; ";")) (expression_statement "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));" (assignment_expression "iVar3 = (**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" (identifier "iVar3") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea4bc))\n                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" (parenthesized_expression "(**(code **)(pcVar25 + 0xea4bc))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea4bc)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea4bc)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea4bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea4bc)" (( "(") (binary_expression "pcVar25 + 0xea4bc" (identifier "pcVar25") (+ "+") (number_literal "0xea4bc")) () ")"))))) () ")")) (argument_list "(iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11))" (( "(") (identifier "iVar12") (, ",") (identifier "iVar4") (, ",") (pointer_expression "&uStack_2424" (& "&") (identifier "uStack_2424")) (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar11)" (( "(") (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar11")) () ")")))) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea574))(iVar12);" (call_expression "(**(code **)(pcVar25 + 0xea574))(iVar12)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea574))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea574)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea574)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea574)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea574)" (( "(") (binary_expression "pcVar25 + 0xea574" (identifier "pcVar25") (+ "+") (number_literal "0xea574")) () ")"))))) () ")")) (argument_list "(iVar12)" (( "(") (identifier "iVar12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea500))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea500))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea500))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea500)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea500)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea500)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea500)" (( "(") (binary_expression "pcVar25 + 0xea500" (identifier "pcVar25") (+ "+") (number_literal "0xea500")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_000654a8;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000654a8;" (goto "goto") (statement_identifier "LAB_000654a8") (; ";"))) (expression_statement "iStack_2420 = 0;" (assignment_expression "iStack_2420 = 0" (identifier "iStack_2420") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea030))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea030)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea030)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea030)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea030)" (( "(") (binary_expression "pcVar25 + 0xea030" (identifier "pcVar25") (+ "+") (number_literal "0xea030")) () ")"))))) () ")")) (argument_list "(iVar3,uStack_2424,&iStack_2420)" (( "(") (identifier "iVar3") (, ",") (identifier "uStack_2424") (, ",") (pointer_expression "&iStack_2420" (& "&") (identifier "iStack_2420")) () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea18c))(iVar3);" (call_expression "(**(code **)(pcVar25 + 0xea18c))(iVar3)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea18c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea18c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea18c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea18c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea18c)" (( "(") (binary_expression "pcVar25 + 0xea18c" (identifier "pcVar25") (+ "+") (number_literal "0xea18c")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (if_statement "if (iVar4 == 0) {\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;\n          (**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);\n          goto LAB_000654a8;\n        }" ({ "{") (expression_statement "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)\n          ;" (call_expression "(**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9ff0))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xe9ff0)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xe9ff0)" (* "*") (cast_expression "(code **)(pcVar25 + 0xe9ff0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xe9ff0)" (( "(") (binary_expression "pcVar25 + 0xe9ff0" (identifier "pcVar25") (+ "+") (number_literal "0xe9ff0")) () ")"))))) () ")")) (argument_list "(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)" (( "(") (identifier "auStack_241c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x67c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x67c")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4);" (call_expression "(**(code **)(pcVar25 + 0xea12c))\n                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea12c))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea12c)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea12c)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea12c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea12c)" (( "(") (binary_expression "pcVar25 + 0xea12c" (identifier "pcVar25") (+ "+") (number_literal "0xea12c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,\n                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,\n                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,\n                     iVar11 + 4)" (( "(") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar11)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar11)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar11)" (( "(") (binary_expression "&DAT_00001008 + iVar11" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar11")) () ")")))) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18b0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x18b0")) (, ",") (number_literal "0x424") (, ",") (number_literal "300") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cfc" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9e9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9e9c)" (( "(") (binary_expression "pcVar25 + 0xe9e9c" (identifier "pcVar25") (+ "+") (number_literal "0xe9e9c")) () ")")))) (+ "+") (number_literal "0x5cfc")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4" (pointer_expression "*(int *)(pcVar25 + 0xe9e9c)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9e9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9e9c)" (( "(") (binary_expression "pcVar25 + 0xe9e9c" (identifier "pcVar25") (+ "+") (number_literal "0xe9e9c")) () ")")))) (+ "+") (number_literal "0x5cf4")) (, ",") (binary_expression "iVar11 + 4" (identifier "iVar11") (+ "+") (number_literal "4")) () ")"))) (; ";")) (goto_statement "goto LAB_000654a8;" (goto "goto") (statement_identifier "LAB_000654a8") (; ";")) (} "}"))) (expression_statement "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);" (assignment_expression "uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19)" (parenthesized_expression "(**(code **)(pcVar25 + 0xe9fd8))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xe9fd8)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xe9fd8)" (* "*") (cast_expression "(code **)(pcVar25 + 0xe9fd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xe9fd8)" (( "(") (binary_expression "pcVar25 + 0xe9fd8" (identifier "pcVar25") (+ "+") (number_literal "0xe9fd8")) () ")"))))) () ")")) (argument_list "(0xd,iVar19)" (( "(") (number_literal "0xd") (, ",") (identifier "iVar19") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);" (assignment_expression "uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea508))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea508)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea508)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea508)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea508)" (( "(") (binary_expression "pcVar25 + 0xea508" (identifier "pcVar25") (+ "+") (number_literal "0xea508")) () ")"))))) () ")")) (argument_list "(iVar23 + 0x2340)" (( "(") (binary_expression "iVar23 + 0x2340" (identifier "iVar23") (+ "+") (number_literal "0x2340")) () ")")))) (; ";")) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" (identifier "FUN_00062838") (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x670" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x670")) (, ",") (identifier "uVar1") () ")"))) (; ";")) (if_statement "if (0 < iStack_2420) {\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" (if "if") (parenthesized_expression "(0 < iStack_2420)" (( "(") (binary_expression "0 < iStack_2420" (number_literal "0") (< "<") (identifier "iStack_2420")) () ")")) (compound_statement "{\n          iVar12 = *(int *)(pcVar25 + 0xe9eac);\n          iVar3 = *(int *)(pcVar25 + 0xe9eac);\n          iVar19 = iStack_2420;\n          iVar23 = iVar4;\n          do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);\n        }" ({ "{") (expression_statement "iVar12 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar12 = *(int *)(pcVar25 + 0xe9eac)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")"))))) (; ";")) (expression_statement "iVar3 = *(int *)(pcVar25 + 0xe9eac);" (assignment_expression "iVar3 = *(int *)(pcVar25 + 0xe9eac)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")"))))) (; ";")) (expression_statement "iVar19 = iStack_2420;" (assignment_expression "iVar19 = iStack_2420" (identifier "iVar19") (= "=") (identifier "iStack_2420")) (; ";")) (expression_statement "iVar23 = iVar4;" (assignment_expression "iVar23 = iVar4" (identifier "iVar23") (= "=") (identifier "iVar4")) (; ";")) (do_statement "do {\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          } while (0 < iVar19);" (do "do") (compound_statement "{\n            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);\n            iVar23 = iVar23 + 0x4c;\n            if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }\n            iVar19 = iVar19 + -0x4c;\n          }" ({ "{") (expression_statement "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);" (call_expression "FUN_00062838(iVar11,iVar12 + -0x63c,iVar23)" (identifier "FUN_00062838") (argument_list "(iVar11,iVar12 + -0x63c,iVar23)" (( "(") (identifier "iVar11") (, ",") (binary_expression "iVar12 + -0x63c" (identifier "iVar12") (+ "+") (number_literal "-0x63c")) (, ",") (identifier "iVar23") () ")"))) (; ";")) (expression_statement "iVar23 = iVar23 + 0x4c;" (assignment_expression "iVar23 = iVar23 + 0x4c" (identifier "iVar23") (= "=") (binary_expression "iVar23 + 0x4c" (identifier "iVar23") (+ "+") (number_literal "0x4c"))) (; ";")) (if_statement "if (0x4c < iVar19) {\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" (if "if") (parenthesized_expression "(0x4c < iVar19)" (( "(") (binary_expression "0x4c < iVar19" (number_literal "0x4c") (< "<") (identifier "iVar19")) () ")")) (compound_statement "{\n              FUN_00062838(iVar11,iVar3 + 0x4030);\n            }" ({ "{") (expression_statement "FUN_00062838(iVar11,iVar3 + 0x4030);" (call_expression "FUN_00062838(iVar11,iVar3 + 0x4030)" (identifier "FUN_00062838") (argument_list "(iVar11,iVar3 + 0x4030)" (( "(") (identifier "iVar11") (, ",") (binary_expression "iVar3 + 0x4030" (identifier "iVar3") (+ "+") (number_literal "0x4030")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar19 = iVar19 + -0x4c;" (assignment_expression "iVar19 = iVar19 + -0x4c" (identifier "iVar19") (= "=") (binary_expression "iVar19 + -0x4c" (identifier "iVar19") (+ "+") (number_literal "-0x4c"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(0 < iVar19)" (( "(") (binary_expression "0 < iVar19" (number_literal "0") (< "<") (identifier "iVar19")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);" (call_expression "FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" (identifier "FUN_00062838") (argument_list "(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224)" (( "(") (identifier "iVar11") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x224" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x224")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea204))(uVar7);" (call_expression "(**(code **)(pcVar25 + 0xea204))(uVar7)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea204)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea204)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea204)" (( "(") (binary_expression "pcVar25 + 0xea204" (identifier "pcVar25") (+ "+") (number_literal "0xea204")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0xea204))(iVar4);" (call_expression "(**(code **)(pcVar25 + 0xea204))(iVar4)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea204))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea204)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea204)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea204)" (( "(") (binary_expression "pcVar25 + 0xea204" (identifier "pcVar25") (+ "+") (number_literal "0xea204")) () ")"))))) () ")")) (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "puVar2 = (undefined4 *)0x1;" (assignment_expression "puVar2 = (undefined4 *)0x1" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (if_statement "if (iStack_141c == *piVar21) {\n        return puVar2;\n      }" (if "if") (parenthesized_expression "(iStack_141c == *piVar21)" (( "(") (binary_expression "iStack_141c == *piVar21" (identifier "iStack_141c") (== "==") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) () ")")) (compound_statement "{\n        return puVar2;\n      }" ({ "{") (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xea1fc))();" (call_expression "(**(code **)(pcVar25 + 0xea1fc))()" (parenthesized_expression "(**(code **)(pcVar25 + 0xea1fc))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea1fc)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea1fc)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea1fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea1fc)" (( "(") (binary_expression "pcVar25 + 0xea1fc" (identifier "pcVar25") (+ "+") (number_literal "0xea1fc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea590)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea590)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea590)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea590)" (( "(") (binary_expression "pcVar25 + 0xea590" (identifier "pcVar25") (+ "+") (number_literal "0xea590")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,\n               *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x6a8" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x6a8")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x409") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x18c0")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea590)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea590)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea590)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea590)" (( "(") (binary_expression "pcVar25 + 0xea590" (identifier "pcVar25") (+ "+") (number_literal "0xea590")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x419c" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x419c")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x406") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x18c0")) () ")"))) (; ";")) (labeled_statement "LAB_0006557c:\n  (**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (statement_identifier "LAB_0006557c") (: ":") (expression_statement "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);" (call_expression "(**(code **)(pcVar25 + 0xea590))\n            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (parenthesized_expression "(**(code **)(pcVar25 + 0xea590))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0xea590)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0xea590)" (* "*") (cast_expression "(code **)(pcVar25 + 0xea590)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0xea590)" (( "(") (binary_expression "pcVar25 + 0xea590" (identifier "pcVar25") (+ "+") (number_literal "0xea590")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,\n             *(int *)(pcVar25 + 0xe9eac) + 0x18c0)" (( "(") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x954" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x954")) (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + -0x970" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "-0x970")) (, ",") (number_literal "0x405") (, ",") (binary_expression "*(int *)(pcVar25 + 0xe9eac) + 0x18c0" (pointer_expression "*(int *)(pcVar25 + 0xe9eac)" (* "*") (cast_expression "(int *)(pcVar25 + 0xe9eac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0xe9eac)" (( "(") (binary_expression "pcVar25 + 0xe9eac" (identifier "pcVar25") (+ "+") (number_literal "0xe9eac")) () ")")))) (+ "+") (number_literal "0x18c0")) () ")"))) (; ";"))) (expression_statement "puVar2 = (undefined4 *)FUN_00062838();" (assignment_expression "puVar2 = (undefined4 *)FUN_00062838()" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00062838()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00062838()" (identifier "FUN_00062838") (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (return_statement (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (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))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (identifier)))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (return_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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (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)))))) 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)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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)) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (call_expression function: (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)) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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)))) (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: (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 (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (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: (identifier))) arguments: (argument_list (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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 (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (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: (identifier))) arguments: (argument_list (number_literal) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (subscript_expression argument: (identifier) index: (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)))))) (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: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (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 (identifier) (number_literal) (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (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: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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))))) (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 (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (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) (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)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (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)))) (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))) (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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))))) (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 (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) condition: (parenthesized_expression (true))))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (type_identifier) 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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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: (number_literal)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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)))) (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: (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 (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (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))))) (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: (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: (identifier))) arguments: (argument_list (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (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))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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))))) (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: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (pointer_expression argument: (identifier)) (subscript_expression argument: (identifier) index: (number_literal))))))) (return_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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (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: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (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)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (identifier)))))) (return_statement (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (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: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (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))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 (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))))) (goto_statement label: (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 (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (identifier)))))) (return_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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (type_identifier) 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: (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: (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)))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (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: (identifier))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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))))) (return_statement (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (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)) (identifier) (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: (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (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: (identifier) 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)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (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)))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (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) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (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)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))) (expression_statement (call_expression function: (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))))) (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)))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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))))) (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 (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))))) (labeled_statement label: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (return_statement (identifier)))))

undefined4 * MASKED(undefined *param_1,int param_2,undefined4 param_3,undefined4 param_4)

{
  undefined4 uVar1;
  undefined4 *puVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  int iVar11;
  int iVar12;
  undefined1 *puVar13;
  undefined *puVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  undefined4 uVar18;
  undefined *unaff_s0;
  int iVar19;
  undefined1 *puVar20;
  int *piVar21;
  int *piVar22;
  int iVar23;
  code *pcVar24;
  code *pcVar25;
  code *pcVar26;
  code *pcVar27;
  undefined4 uStack_2424;
  int iStack_2420;
  undefined1 auStack_241c [4096];
  int iStack_141c;
  undefined4 *puStack_1418;
  undefined1 *puStack_1410;
  int *piStack_140c;
  undefined4 *puStack_1408;
  undefined4 uStack_1390;
  undefined4 uStack_11f0;
  undefined1 auStack_10f8 [4];
  undefined4 uStack_10f4;
  undefined4 uStack_10f0;
  undefined8 uStack_10d0;
  undefined8 uStack_10c8;
  undefined8 uStack_10c0;
  double dStack_10b0;
  undefined1 auStack_109c [4096];
  undefined4 *puStack_9c;
  undefined *puStack_98;
  
  if (param_1 == (undefined *)0x0) {
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_t_char____NULL_0014f03c + -0x954,PTR_s_t_char____NULL_0014f03c + -0x970,0xe8e,
               PTR_s_t_char____NULL_0014f03c + 0xd60);
  }
  else {
    unaff_s0 = param_1;
    if (*(int *)(param_1 + 0x1054) == -0x54535255) {
      if (*(int *)(param_1 + 0x1050) != 0) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_t_char____NULL_0014f03c + -0x970,
                   PTR_s_t_char____NULL_0014f03c + 0xd48,0xe91);
      }
      if ((*(int *)(param_1 + 0x1044) == 9) && (*(int *)(param_1 + 0x1048) == param_2)) {
        puVar2 = (undefined4 *)
                 FUN_00062bdc(param_1,PTR_s_t_char____NULL_0014f03c + -0x828,param_3,param_4);
        return puVar2;
      }
      uVar1 = 0x76;
      if (param_2 == 1) {
        uVar1 = 0x56;
      }
      puVar9 = PTR_s_t_char____NULL_0014f03c + -0x830;
      *(int *)(param_1 + 0x1048) = param_2;
      *(undefined4 *)(param_1 + 0x1044) = 9;
      puVar2 = (undefined4 *)FUN_00062bdc(param_1,puVar9,uVar1);
      return puVar2;
    }
  }
  uVar1 = 0xe8f;
  puVar14 = PTR_s_t_char____NULL_0014f03c + 0xd60;
  puVar10 = PTR_s_t_char____NULL_0014f03c + -0x970;
  puVar5 = PTR_s_t_char____NULL_0014f03c + 0x419c;
  puVar9 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)();
  if (puVar5 == (undefined *)0x0) {
    (**(code **)(puVar9 + 0xebb8c))
              (*(int *)(puVar9 + 0xeb4a8) + -0x954,*(int *)(puVar9 + 0xeb4a8) + -0x970,0xeeb,
               *(int *)(puVar9 + 0xeb4a8) + 0xcc8);
  }
  else {
    unaff_s0 = puVar5;
    if (*(int *)(puVar5 + 0x1054) == -0x54535255) {
      if (*(int *)(puVar5 + 0x1050) != 0) {
        (**(code **)(puVar9 + 0xeb8f4))
                  (0x40000,*(int *)(puVar9 + 0xeb4a8) + -0x970,*(int *)(puVar9 + 0xeb4a8) + 0xcb8,
                   0xeee);
      }
      if ((*(int *)(puVar5 + 0x1044) == 10) && (*(undefined **)(puVar5 + 0x1048) == puVar10)) {
        puVar2 = (undefined4 *)
                 FUN_00062bdc(puVar5,*(int *)(puVar9 + 0xeb4a8) + -0x8bc,uVar1,puVar14);
        return puVar2;
      }
      iVar11 = *(int *)(puVar9 + 0xeb4a8);
      uVar1 = 0x6d;
      if (puVar10 == (undefined *)0x1) {
        uVar1 = 0x4d;
      }
      *(undefined **)(puVar5 + 0x1048) = puVar10;
      *(undefined4 *)(puVar5 + 0x1044) = 10;
      puVar2 = (undefined4 *)FUN_00062bdc(puVar5,iVar11 + -0x890,uVar1);
      return puVar2;
    }
  }
  pcVar24 = *(code **)(puVar9 + 0xebb8c);
  puVar2 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + -0x970);
  puVar6 = (undefined4 *)(*(int *)(puVar9 + 0xeb4a8) + 0x419c);
  (*pcVar24)(puVar6,puVar2,0xeec,*(int *)(puVar9 + 0xeb4a8) + 0xcc8);
  piVar22 = *(int **)(pcVar24 + 0xeb7ac);
  puStack_9c = (undefined4 *)*piVar22;
  pcVar25 = *(code **)(pcVar24 + 0xeb804);
  puVar8 = puVar6;
  puStack_98 = unaff_s0;
  if ((((*(double *)(puVar2 + 10) == 0.0) && (*(double *)(puVar2 + 0xc) == 0.0)) &&
      (pcVar25 = *(code **)(pcVar24 + 0xeb804), *(double *)(puVar2 + 0xe) == 0.0)) &&
     (*(double *)(puVar2 + 0x12) == 0.0)) {
    FUN_00062838();
  }
  else {
    (*pcVar25)(puVar6[0x401],auStack_10f8);
    uStack_10f4 = 0x17;
    dStack_10b0 = *(double *)(puVar2 + 0x12);
    uStack_10d0 = *(undefined8 *)(puVar2 + 10);
    uStack_10f0 = 4;
    uStack_10c8 = *(undefined8 *)(puVar2 + 0xc);
    uStack_10c0 = *(undefined8 *)(puVar2 + 0xe);
    if (dStack_10b0 == *(double *)(*(int *)(pcVar24 + 0xeb30c) + 0x75f0)) {
      uStack_10f0 = 0;
    }
    (**(code **)(pcVar24 + 0xeb608))(auStack_10f8,1,auStack_109c);
    FUN_00062838(puVar6,*(int *)(pcVar24 + 0xeb310) + -0x131c,auStack_109c);
  }
  puVar20 = auStack_10f8;
  if (puStack_9c == (undefined4 *)*piVar22) {
    return (undefined4 *)*piVar22;
  }
  pcVar24 = *(code **)(pcVar24 + 0xeb66c);
  (*pcVar24)();
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar24 + 0xeb5fc))
                  (0x40000,*(int *)(pcVar24 + 0xeb1b0) + -0x970,*(int *)(pcVar24 + 0xeb1b0) + 0x1a54
                   ,0x1a4);
      }
      iVar11 = puVar8[0x40d];
      while (iVar11 != 0) {
        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);
        uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);
        iVar11 = puVar8[0x40d];
        *puVar2 = uVar1;
        iVar11 = iVar11 + -1;
        puVar8[0x40d] = iVar11;
      }
      puVar2 = (undefined4 *)puVar8[0x40e];
      uVar1 = (**(code **)(pcVar24 + 0xeb4ac))(*puVar2);
      uVar7 = puVar8[0x40e];
      pcVar25 = *(code **)(pcVar24 + 0xeb490);
      *puVar2 = uVar1;
      uVar1 = (*pcVar25)(uVar7);
      puVar8[0x40e] = uVar1;
      if (puVar8[0x407] != 0) {
        uVar1 = (**(code **)(pcVar24 + 0xeb508))();
        puVar8[0x407] = uVar1;
      }
      uVar1 = (**(code **)(pcVar24 + 0xeb508))(puVar8[0x403]);
      puVar8[0x403] = uVar1;
      if ((puVar8[0x413] == 0) || (puVar8[0x401] == 0)) {
        puVar8[0x401] = 0;
      }
      else {
        uVar1 = (**(code **)(pcVar24 + 0xeb458))();
        puVar8[0x401] = uVar1;
      }
      pcVar25 = *(code **)(pcVar24 + 0xeb800);
      puVar8[0x403] = 0;
      puVar8[0x404] = 0;
      puVar8[0x405] = 0;
      puVar8[0x406] = 0;
      puVar8[0x407] = 0;
      puVar8[0x40c] = 0;
      puVar8[0x40a] = 0;
      puVar8[0x40b] = 0;
      puVar8[0x408] = 0;
      puVar8[0x409] = 0;
      puVar8[0x40d] = 0;
      iVar11 = (*pcVar25)(1,4);
      puVar8[0x40e] = iVar11;
      if (iVar11 != 0) {
        iVar19 = puVar8[0x40d];
        uVar1 = (**(code **)(pcVar24 + 0xeb618))(0,0);
        uVar7 = puVar8[0x402];
        puVar8[0x40f] = 1;
        *(undefined4 *)(iVar11 + iVar19 * 4) = uVar1;
        puVar8[0x410] = 0;
        puVar8[0x411] = 0;
        pcVar25 = *(code **)(pcVar24 + 0xeb898);
        puVar8[0x412] = 0;
        uVar1 = (*pcVar25)(0,uVar7);
        pcVar25 = *(code **)(pcVar24 + 0xeb548);
        puVar8[0x401] = uVar1;
        (*pcVar25)(puVar8[0x402]);
        pcVar24 = *(code **)(pcVar24 + 0xeb97c);
        puVar8[0x413] = 1;
        puVar2 = (undefined4 *)(*pcVar24)();
        puVar8[0x414] = puVar2;
        return puVar2;
      }
      puVar2 = (undefined4 *)
               (**(code **)(pcVar24 + 0xeb430))
                         (puVar8[0x402],*(int *)(pcVar24 + 0xeb1b0) + -0x970,
                          *(int *)(pcVar24 + 0xeb1b0) + 0x1a54,0x1c1);
      return puVar2;
    }
    (**(code **)(pcVar24 + 0xeb894))
              (*(int *)(pcVar24 + 0xeb1b0) + 0x419c,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a2,
               *(int *)(pcVar24 + 0xeb1b0) + 0x1a68);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar24 + 0xeb894);
  iVar11 = *(int *)(pcVar24 + 0xeb1b0) + -0x954;
  (*pcVar25)(iVar11,*(int *)(pcVar24 + 0xeb1b0) + -0x970,0x1a1,*(int *)(pcVar24 + 0xeb1b0) + 0x1a68)
  ;
  if (iVar11 != 0) {
    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
      if (*(int *)(iVar11 + 0x1050) != 0) {
        (**(code **)(pcVar25 + 0xeb340))
                  (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c
                   ,0x1f0);
      }
      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb784))(0x1058);
      if (puVar2 == (undefined4 *)0x0) goto LAB_000644e0;
      (**(code **)(pcVar25 + 0xeb64c))(puVar2,0,0x1058);
      uVar1 = (**(code **)(pcVar25 + 0xeb334))();
      *puVar2 = uVar1;
      (**(code **)(pcVar25 + 0xeb038))(puVar2 + 1,0x1000,*(int *)(pcVar25 + 0xeaef4) + -0x818);
      uVar1 = (**(code **)(pcVar25 + 0xeb158))();
      uVar7 = *(undefined4 *)(&DAT_00001008 + iVar11);
      pcVar24 = *(code **)(pcVar25 + 0xeb5a8);
      puVar2[0x402] = uVar1;
      (*pcVar24)(uVar1,uVar7);
      uVar1 = (**(code **)(pcVar25 + 0xeb704))(*(undefined4 *)(iVar11 + 0x100c));
      pcVar24 = *(code **)(pcVar25 + 0xeb434);
      puVar2[0x403] = uVar1;
      uVar1 = (*pcVar24)(uVar1);
      iVar19 = *(int *)(&DAT_00001014 + iVar11);
      uVar7 = *(undefined4 *)(iVar11 + 0x101c);
      pcVar24 = *(code **)(pcVar25 + 0xeb704);
      puVar2[0x406] = *(undefined4 *)(&DAT_00001018 + iVar11);
      puVar2[0x404] = iVar19 + 1;
      puVar2[0x405] = uVar1;
      uVar1 = (*pcVar24)(uVar7);
      iVar19 = *(int *)(iVar11 + 0x1034);
      uVar18 = *(undefined4 *)(iVar11 + 0x1030);
      uVar17 = *(undefined4 *)(iVar11 + 0x1020);
      uVar16 = *(undefined4 *)(iVar11 + 0x1024);
      uVar15 = *(undefined4 *)(iVar11 + 0x1028);
      uVar7 = *(undefined4 *)(iVar11 + 0x102c);
      pcVar24 = *(code **)(pcVar25 + 0xeb544);
      puVar2[0x407] = uVar1;
      puVar2[0x40c] = uVar18;
      puVar2[0x408] = uVar17;
      puVar2[0x409] = uVar16;
      puVar2[0x40a] = uVar15;
      puVar2[0x40b] = uVar7;
      puVar2[0x40d] = iVar19;
      iVar19 = (*pcVar24)(iVar19 + 1,4);
      puVar2[0x40e] = iVar19;
      if (iVar19 != 0) {
        if (-1 < *(int *)(iVar11 + 0x1034)) {
          iVar23 = 0;
          while( true ) {
            iVar12 = iVar23 * 4;
            iVar23 = iVar23 + 1;
            uVar1 = (**(code **)(pcVar25 + 0xeb35c))
                              (0,*(undefined4 *)(*(int *)(iVar11 + 0x1038) + iVar12));
            iVar4 = *(int *)(iVar11 + 0x1034);
            *(undefined4 *)(iVar19 + iVar12) = uVar1;
            if (iVar4 < iVar23) break;
            iVar19 = puVar2[0x40e];
          }
        }
        uVar15 = *(undefined4 *)(iVar11 + 0x1040);
        uVar7 = *(undefined4 *)(&DAT_00001044 + iVar11);
        uVar1 = *(undefined4 *)(iVar11 + 0x1048);
        iVar19 = *(int *)(&DAT_00001004 + iVar11);
        puVar2[0x40f] = *(undefined4 *)(iVar11 + 0x103c);
        puVar2[0x410] = uVar15;
        puVar2[0x411] = uVar7;
        puVar2[0x412] = uVar1;
        puVar2[0x401] = iVar19;
        if (iVar19 != 0) {
          uVar1 = (**(code **)(pcVar25 + 0xeb70c))(iVar19,0,0,1);
          puVar2[0x401] = uVar1;
        }
        pcVar24 = *(code **)(pcVar25 + 0xeb6c0);
        puVar2[0x413] = 1;
        iVar11 = (*pcVar24)();
        puVar2[0x414] = iVar11;
        if (iVar11 != 0) {
          (**(code **)(pcVar25 + 0xeb340))
                    (0x40000,*(int *)(pcVar25 + 0xeaef4) + -0x970,
                     *(int *)(pcVar25 + 0xeaef4) + 0x1a2c,0x216);
        }
        puVar2[0x415] = 0xabacadab;
        return puVar2;
      }
      uVar1 = (**(code **)(pcVar25 + 0xeb158))();
      puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();
      (**(code **)(pcVar25 + 0xeb488))(*puVar2);
      uVar7 = 0x207;
      do {
        (**(code **)(pcVar25 + 0xeb174))
                  (uVar1,*(int *)(pcVar25 + 0xeaef4) + -0x970,*(int *)(pcVar25 + 0xeaef4) + 0x1a2c,
                   uVar7);
        (**(code **)(pcVar25 + 0xeb3d8))(uVar1);
        (**(code **)(pcVar25 + 0xeb00c))(uVar1);
        (**(code **)(pcVar25 + 0xeb688))();
        (**(code **)(pcVar25 + 0xeb61c))(1);
LAB_000644e0:
        uVar1 = (**(code **)(pcVar25 + 0xeb158))();
        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xeb814))();
        (**(code **)(pcVar25 + 0xeb488))(*puVar2);
        uVar7 = 500;
      } while( true );
    }
    (**(code **)(pcVar25 + 0xeb5d8))
              (*(int *)(pcVar25 + 0xeaef4) + 0x419c,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ee,
               *(int *)(pcVar25 + 0xeaef4) + 0x1a40);
  }
  pcVar24 = *(code **)(pcVar25 + 0xeb5d8);
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xeaef4) + -0x954);
  (*pcVar24)(puVar8,*(int *)(pcVar25 + 0xeaef4) + -0x970,0x1ed,*(int *)(pcVar25 + 0xeaef4) + 0x1a40)
  ;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar24 + 0xeaf28))
                  (0x40000,*(int *)(pcVar24 + 0xeaadc) + -0x970,*(int *)(pcVar24 + 0xeaadc) + 0x1a04
                   ,0x238);
      }
      iVar11 = puVar8[0x40d];
      while (iVar11 != 0) {
        puVar2 = (undefined4 *)(puVar8[0x40e] + iVar11 * 4);
        uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);
        iVar11 = puVar8[0x40d];
        *puVar2 = uVar1;
        iVar11 = iVar11 + -1;
        puVar8[0x40d] = iVar11;
      }
      puVar2 = (undefined4 *)puVar8[0x40e];
      uVar1 = (**(code **)(pcVar24 + 0xeadd8))(*puVar2);
      uVar7 = puVar8[0x40e];
      pcVar25 = *(code **)(pcVar24 + 0xeadbc);
      *puVar2 = uVar1;
      uVar1 = (*pcVar25)(uVar7);
      puVar8[0x40e] = uVar1;
      if (puVar8[0x407] != 0) {
        uVar1 = (**(code **)(pcVar24 + 0xeae34))();
        puVar8[0x407] = uVar1;
      }
      uVar1 = (**(code **)(pcVar24 + 0xeae34))(puVar8[0x403]);
      puVar8[0x403] = uVar1;
      if ((puVar8[0x413] != 0) && (puVar8[0x401] != 0)) {
        (**(code **)(pcVar24 + 0xead84))();
      }
      pcVar25 = *(code **)(pcVar24 + 0xeabf4);
      puVar8[0x401] = 0;
      uVar1 = (*pcVar25)(puVar8[0x402]);
      puVar8[0x402] = uVar1;
      pcVar25 = *(code **)(pcVar24 + 0xeb000);
      puVar8[0x415] = 0x54535254;
      (*pcVar25)(*puVar8);
                    /* WARNING: Could not recover jumptable at 0x000646a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      puVar2 = (undefined4 *)(**(code **)(pcVar24 + 0xeadbc))(puVar8);
      return puVar2;
    }
    (**(code **)(pcVar24 + 0xeb1c0))
              (*(int *)(pcVar24 + 0xeaadc) + 0x419c,*(int *)(pcVar24 + 0xeaadc) + -0x970,0x236,
               *(int *)(pcVar24 + 0xeaadc) + 0x1a18);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar24 + 0xeb1c0);
  puVar8 = (undefined4 *)(*(int *)(pcVar24 + 0xeaadc) + -0x970);
  iVar11 = *(int *)(pcVar24 + 0xeaadc) + -0x954;
  (*pcVar25)(iVar11,puVar8,0x235,*(int *)(pcVar24 + 0xeaadc) + 0x1a18);
  if (iVar11 == 0) {
LAB_00064848:
    (**(code **)(pcVar25 + 0xeaff4))
              (*(int *)(pcVar25 + 0xea910) + -0x954,*(int *)(pcVar25 + 0xea910) + -0x970,0x267,
               *(int *)(pcVar25 + 0xea910) + 0x19f8);
  }
  else {
    if (*(int *)(iVar11 + 0x1054) != -0x54535255) {
      (**(code **)(pcVar25 + 0xeaff4))
                (*(int *)(pcVar25 + 0xea910) + 0x419c,*(int *)(pcVar25 + 0xea910) + -0x970,0x268,
                 *(int *)(pcVar25 + 0xea910) + 0x19f8);
      goto LAB_00064848;
    }
    if (*(int *)(iVar11 + 0x1050) != 0) {
      (**(code **)(pcVar25 + 0xead5c))
                (0x40000,*(int *)(pcVar25 + 0xea910) + -0x970,*(int *)(pcVar25 + 0xea910) + 0x19ec,
                 0x26a);
    }
    puVar2 = puVar8;
    if (puVar8 != (undefined4 *)0x0) {
      FUN_00062640(iVar11,puVar8);
      puVar2 = (undefined4 *)
               FUN_00062838(iVar11,*(int *)(pcVar25 + 0xea910) + -0x7dc,*puVar8,puVar8[1]);
      return puVar2;
    }
  }
  uVar1 = 0x26b;
  pcVar26 = *(code **)(pcVar25 + 0xeaff4);
  iVar11 = *(int *)(pcVar25 + 0xea910) + 0x19f8;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea910) + -0x804);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea910) + -0x970);
  pcVar24 = pcVar26 + 0xf2770;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea8d8);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xeabf8))
                  (0x40000,*(int *)(pcVar26 + 0xea7ac) + -0x970,*(int *)(pcVar26 + 0xea7ac) + 0x199c
                   ,0x29c);
        pcVar24 = *(code **)(pcVar26 + 0xea8d8);
      }
      (*pcVar24)(0x2f,uStack_11f0);
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x7b0,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xeae90))
              (*(int *)(pcVar26 + 0xea7ac) + 0x419c,*(int *)(pcVar26 + 0xea7ac) + -0x970,0x29a,
               *(int *)(pcVar26 + 0xea7ac) + 0x19a8);
    puVar2 = puVar8;
  }
  uVar1 = 0x299;
  pcVar25 = *(code **)(pcVar26 + 0xeae90);
  iVar11 = *(int *)(pcVar26 + 0xea7ac) + 0x19a8;
  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea7ac) + -0x954);
  (*pcVar25)(puVar8,*(int *)(pcVar26 + 0xea7ac) + -0x970);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar25 + 0xeaac8))
                  (0x40000,*(int *)(pcVar25 + 0xea67c) + -0x970,*(int *)(pcVar25 + 0xea67c) + 0x197c
                   ,0x2c7);
      }
      if (pcVar24 != (code *)0x0) {
        iVar19 = (**(code **)(pcVar25 + 0xeaf14))(pcVar24,0x27);
        if (iVar19 != 0) {
          FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x770,uVar1,iVar11);
                    /* WARNING: Could not recover jumptable at 0x00064a84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea9d4))(iVar19);
          return puVar2;
        }
        return (undefined4 *)0x0;
      }
      (**(code **)(pcVar25 + 0xead60))
                (*(int *)(pcVar25 + 0xea67c) + -0x798,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c8,
                 *(int *)(pcVar25 + 0xea67c) + 0x198c);
    }
    (**(code **)(pcVar25 + 0xead60))
              (*(int *)(pcVar25 + 0xea67c) + 0x419c,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c5,
               *(int *)(pcVar25 + 0xea67c) + 0x198c);
    puVar2 = puVar8;
  }
  uVar1 = 0x2c4;
  pcVar26 = *(code **)(pcVar25 + 0xead60);
  iVar11 = *(int *)(pcVar25 + 0xea67c) + 0x198c;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea67c) + -0x954);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea67c) + -0x970,0x2c4,iVar11);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea93c))
                  (0x40000,*(int *)(pcVar26 + 0xea4f0) + -0x970,*(int *)(pcVar26 + 0xea4f0) + 0x196c
                   ,0x2fb);
      }
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xea4f0) + -0x758,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xeabd4))
              (*(int *)(pcVar26 + 0xea4f0) + 0x419c,*(int *)(pcVar26 + 0xea4f0) + -0x970,0x2f9,
               *(int *)(pcVar26 + 0xea4f0) + 0x1974);
    puVar2 = puVar8;
  }
  pcVar25 = (code *)0x2f8;
  pcVar27 = *(code **)(pcVar26 + 0xeabd4);
  puVar13 = (undefined1 *)(*(int *)(pcVar26 + 0xea4f0) + -0x970);
  puVar8 = (undefined4 *)(*(int *)(pcVar26 + 0xea4f0) + -0x954);
  (*pcVar27)();
  if (puVar8 == (undefined4 *)0x0) {
LAB_00064d78:
    (**(code **)(pcVar27 + 0xeaa8c))
              (*(int *)(pcVar27 + 0xea3a8) + -0x954,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x31e,
               *(int *)(pcVar27 + 0xea3a8) + 0x1960);
  }
  else {
    puVar2 = puVar8;
    if (puVar8[0x415] != -0x54535255) {
      (**(code **)(pcVar27 + 0xeaa8c))
                (*(int *)(pcVar27 + 0xea3a8) + 0x419c,*(int *)(pcVar27 + 0xea3a8) + -0x970,799,
                 *(int *)(pcVar27 + 0xea3a8) + 0x1960);
      goto LAB_00064d78;
    }
    if (puVar8[0x414] != 0) {
      (**(code **)(pcVar27 + 0xea7f4))
                (0x40000,*(int *)(pcVar27 + 0xea3a8) + -0x970,*(int *)(pcVar27 + 0xea3a8) + 0x1954,
                 0x321);
    }
    pcVar24 = pcVar25;
    puVar20 = puVar13;
    if (pcVar25 != (code *)0x0) {
      puVar2 = (undefined4 *)
               FUN_00062d58(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x704,puVar13,pcVar25);
      return puVar2;
    }
  }
  uVar1 = 0x322;
  pcVar25 = *(code **)(pcVar27 + 0xeaa8c);
  iVar11 = *(int *)(pcVar27 + 0xea3a8) + 0x1960;
  puVar8 = (undefined4 *)(*(int *)(pcVar27 + 0xea3a8) + -0x72c);
  (*pcVar25)(puVar8,*(int *)(pcVar27 + 0xea3a8) + -0x970,0x322,iVar11);
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar25 + 0xea6c8))
                  (0x40000,*(int *)(pcVar25 + 0xea27c) + -0x970,*(int *)(pcVar25 + 0xea27c) + 0x1928
                   ,0x34b);
      }
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x6fc,uVar1,iVar11);
      return puVar2;
    }
    (**(code **)(pcVar25 + 0xea960))
              (*(int *)(pcVar25 + 0xea27c) + 0x419c,*(int *)(pcVar25 + 0xea27c) + -0x970,0x349,
               *(int *)(pcVar25 + 0xea27c) + 0x1934);
    puVar2 = puVar8;
  }
  pcVar26 = *(code **)(pcVar25 + 0xea960);
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea27c) + -0x954);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea27c) + -0x970,0x348,*(int *)(pcVar25 + 0xea27c) + 0x1934)
  ;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea4ec);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea5a0))
                  (0x40000,*(int *)(pcVar26 + 0xea154) + -0x970,*(int *)(pcVar26 + 0xea154) + 0x1900
                   ,0x36a);
        pcVar24 = *(code **)(pcVar26 + 0xea4ec);
      }
      (*pcVar24)(puVar8[0x402]);
      return (undefined4 *)0x1;
    }
    (**(code **)(pcVar26 + 0xea838))
              (*(int *)(pcVar26 + 0xea154) + 0x419c,*(int *)(pcVar26 + 0xea154) + -0x970,0x368,
               *(int *)(pcVar26 + 0xea154) + 0x1914);
    puVar2 = puVar8;
  }
  pcVar25 = *(code **)(pcVar26 + 0xea838);
  iVar11 = *(int *)(pcVar26 + 0xea154) + -0x954;
  (*pcVar25)(iVar11,*(int *)(pcVar26 + 0xea154) + -0x970,0x367,*(int *)(pcVar26 + 0xea154) + 0x1914)
  ;
  if (iVar11 == 0) {
    iVar19 = *(int *)(pcVar25 + 0xea074) + 0x18e8;
    (**(code **)(pcVar25 + 0xea758))
              (*(int *)(pcVar25 + 0xea074) + -0x954,*(int *)(pcVar25 + 0xea074) + -0x970,0x387,
               iVar19);
  }
  else {
    iVar19 = *(int *)(pcVar25 + 0xea074);
    if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
      if (*(int *)(&DAT_00001008 + iVar11) != 0) {
                    /* WARNING: Could not recover jumptable at 0x00065008. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        puVar2 = (undefined4 *)(**(code **)(pcVar25 + 0xea928))();
        return puVar2;
      }
      return (undefined4 *)0x0;
    }
  }
  uVar1 = 0x388;
  pcVar26 = *(code **)(pcVar25 + 0xea758);
  iVar19 = iVar19 + 0x18e8;
  puVar8 = (undefined4 *)(*(int *)(pcVar25 + 0xea074) + 0x419c);
  (*pcVar26)(puVar8,*(int *)(pcVar25 + 0xea074) + -0x970,0x388,iVar19);
  puStack_1418 = puVar2;
  if (puVar8 != (undefined4 *)0x0) {
    if (puVar8[0x415] == -0x54535255) {
      pcVar24 = *(code **)(pcVar26 + 0xea108);
      if (puVar8[0x414] != 0) {
        (**(code **)(pcVar26 + 0xea428))
                  (0x40000,*(int *)(pcVar26 + 0xe9fdc) + -0x970,*(int *)(pcVar26 + 0xe9fdc) + 0x18d0
                   ,0x3b8);
        pcVar24 = *(code **)(pcVar26 + 0xea108);
      }
      (*pcVar24)(0x2f,uStack_1390);
      puVar2 = (undefined4 *)FUN_00062838(puVar8,*(int *)(pcVar26 + 0xe9fdc) + -0x6c0,uVar1,iVar19);
      return puVar2;
    }
    (**(code **)(pcVar26 + 0xea6c0))
              (*(int *)(pcVar26 + 0xe9fdc) + 0x419c,*(int *)(pcVar26 + 0xe9fdc) + -0x970,0x3b6,
               *(int *)(pcVar26 + 0xe9fdc) + 0x18dc);
    puStack_1418 = puVar8;
  }
  pcVar25 = *(code **)(pcVar26 + 0xea6c0);
  iVar19 = *(int *)(pcVar26 + 0xe9fdc) + -0x970;
  iVar11 = *(int *)(pcVar26 + 0xe9fdc) + -0x6dc;
  (*pcVar25)(iVar11,iVar19);
  piVar21 = *(int **)(pcVar25 + 0xea33c);
  iStack_141c = *piVar21;
  puStack_1410 = puVar20;
  piStack_140c = piVar22;
  puStack_1408 = puVar6;
  if (iVar11 == 0) goto LAB_0006557c;
  if (*(int *)(iVar11 + 0x1054) == -0x54535255) {
    if (*(int *)(iVar11 + 0x1050) != 0) {
      (**(code **)(pcVar25 + 0xea2f8))
                (0x40000,*(int *)(pcVar25 + 0xe9eac) + -0x970,*(int *)(pcVar25 + 0xe9eac) + 0x18b0,
                 0x408,*(int *)(pcVar25 + 0xe9ea0) + -0x131c,iVar11 + 4);
    }
    if (pcVar24 != (code *)0x0) {
      iVar23 = (**(code **)(pcVar25 + 0xea19c))(pcVar24);
      if ((iVar23 == 0) ||
         (iVar4 = (**(code **)(pcVar25 + 0xea6c4))
                            (iVar23,0,0,1,*(undefined4 *)(&DAT_00001008 + iVar11)), iVar4 == 0)) {
LAB_000654a8:
        puVar2 = (undefined4 *)0x0;
      }
      else {
        iVar12 = (**(code **)(pcVar25 + 0xea2e4))();
        (**(code **)(pcVar25 + 0xea6c8))(iVar12 + 0x210,*(int *)(pcVar25 + 0xe9eac) + -0x684,0x1000)
        ;
        uStack_2424 = 0x800;
        iVar3 = (**(code **)(pcVar25 + 0xea4bc))
                          (iVar12,iVar4,&uStack_2424,*(undefined4 *)(&DAT_00001008 + iVar11));
        (**(code **)(pcVar25 + 0xea574))(iVar12);
        (**(code **)(pcVar25 + 0xea500))(iVar4);
        if (iVar3 == 0) goto LAB_000654a8;
        iStack_2420 = 0;
        iVar4 = (**(code **)(pcVar25 + 0xea030))(iVar3,uStack_2424,&iStack_2420);
        (**(code **)(pcVar25 + 0xea18c))(iVar3);
        if (iVar4 == 0) {
          (**(code **)(pcVar25 + 0xe9ff0))(auStack_241c,0x1000,*(int *)(pcVar25 + 0xe9eac) + -0x67c)
          ;
          (**(code **)(pcVar25 + 0xea12c))
                    (*(undefined4 *)(&DAT_00001008 + iVar11),*(int *)(pcVar25 + 0xe9eac) + -0x970,
                     *(int *)(pcVar25 + 0xe9eac) + 0x18b0,0x424,300,
                     *(int *)(pcVar25 + 0xe9e9c) + 0x5cfc,*(int *)(pcVar25 + 0xe9e9c) + 0x5cf4,
                     iVar11 + 4);
          goto LAB_000654a8;
        }
        uVar1 = (**(code **)(pcVar25 + 0xe9fd8))(0xd,iVar19);
        uVar7 = (**(code **)(pcVar25 + 0xea508))(iVar23 + 0x2340);
        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x670,uVar1);
        if (0 < iStack_2420) {
          iVar12 = *(int *)(pcVar25 + 0xe9eac);
          iVar3 = *(int *)(pcVar25 + 0xe9eac);
          iVar19 = iStack_2420;
          iVar23 = iVar4;
          do {
            FUN_00062838(iVar11,iVar12 + -0x63c,iVar23);
            iVar23 = iVar23 + 0x4c;
            if (0x4c < iVar19) {
              FUN_00062838(iVar11,iVar3 + 0x4030);
            }
            iVar19 = iVar19 + -0x4c;
          } while (0 < iVar19);
        }
        FUN_00062838(iVar11,*(int *)(pcVar25 + 0xe9eac) + -0x224);
        (**(code **)(pcVar25 + 0xea204))(uVar7);
        (**(code **)(pcVar25 + 0xea204))(iVar4);
        puVar2 = (undefined4 *)0x1;
      }
      if (iStack_141c == *piVar21) {
        return puVar2;
      }
      (**(code **)(pcVar25 + 0xea1fc))();
    }
    (**(code **)(pcVar25 + 0xea590))
              (*(int *)(pcVar25 + 0xe9eac) + -0x6a8,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x409,
               *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
  }
  (**(code **)(pcVar25 + 0xea590))
            (*(int *)(pcVar25 + 0xe9eac) + 0x419c,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x406,
             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
LAB_0006557c:
  (**(code **)(pcVar25 + 0xea590))
            (*(int *)(pcVar25 + 0xe9eac) + -0x954,*(int *)(pcVar25 + 0xe9eac) + -0x970,0x405,
             *(int *)(pcVar25 + 0xe9eac) + 0x18c0);
  puVar2 = (undefined4 *)FUN_00062838();
  return puVar2;
}

