
/* WARNING: Removing unreachable block (ram,0x0004c948) */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */

void * ImageToBlob(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)

{
  undefined *puVar1;
  int iVar2;
  int iVar3;
  char *pcVar4;
  Image *pIVar5;
  undefined4 uVar6;
  void *pvVar7;
  Image *pIVar8;
  FILE *pFVar9;
  StreamType SVar10;
  uint uVar11;
  int *piVar12;
  uint uVar13;
  undefined4 *puVar14;
  int iVar15;
  int *piVar16;
  size_t sVar17;
  uint *puVar18;
  undefined1 *puVar19;
  BlobInfo *pBVar20;
  Image *pIVar21;
  Image *pIVar22;
  ImageInfo *pIVar23;
  uint uVar24;
  undefined1 uVar25;
  size_t *psVar26;
  ExceptionInfo *pEVar27;
  undefined *puVar28;
  ExceptionInfo *pEVar29;
  int iVar30;
  Image *unaff_s0;
  uint *puVar31;
  Image *unaff_s1;
  ImageInfo *unaff_s2;
  ExceptionInfo *unaff_s3;
  ExceptionInfo *pEVar32;
  size_t *unaff_s5;
  char *unaff_s6;
  BlobInfo *unaff_s7;
  undefined *puVar33;
  code *pcVar34;
  code *pcVar35;
  uint unaff_s8;
  code *pcVar36;
  ulonglong uVar37;
  longlong lVar38;
  uint uStack_4330;
  undefined1 auStack_4328 [56];
  int iStack_42f0;
  uint uStack_42ec;
  undefined1 auStack_4284 [4096];
  int iStack_3284;
  Image *pIStack_3280;
  Image *pIStack_327c;
  ImageInfo *pIStack_3278;
  ExceptionInfo *pEStack_3274;
  ExceptionInfo *pEStack_3270;
  size_t *psStack_326c;
  char *pcStack_3268;
  BlobInfo *pBStack_3264;
  uint uStack_3260;
  code *pcStack_325c;
  int iStack_3248;
  ImageInfo *pIStack_3244;
  int iStack_3240;
  ImageInfo *pIStack_323c;
  Image *pIStack_3238;
  code *pcStack_3230;
  int *piStack_3224;
  undefined4 uStack_3220;
  ExceptionInfo *pEStack_321c;
  ExceptionInfo *pEStack_3218;
  uint uStack_3214;
  undefined1 auStack_3210 [56];
  int iStack_31d8;
  ExceptionInfo *pEStack_31d4;
  int iStack_316c;
  Image *pIStack_3168;
  Image *pIStack_3164;
  ImageInfo *pIStack_3160;
  ExceptionInfo *pEStack_315c;
  ExceptionInfo *pEStack_3158;
  size_t *psStack_3154;
  char *pcStack_3150;
  BlobInfo *pBStack_314c;
  undefined1 auStack_308c [4096];
  char acStack_208c [4096];
  ExceptionType EStack_108c;
  Image *pIStack_1084;
  Image *pIStack_1080;
  ImageInfo *pIStack_107c;
  ExceptionInfo *pEStack_1078;
  undefined *puStack_1074;
  size_t *psStack_1070;
  char *pcStack_106c;
  BlobInfo *pBStack_1068;
  code *pcStack_1064;
  BlobInfo *local_1050;
  char *local_104c;
  undefined *local_1048;
  char *local_1044;
  Image *local_1040;
  char unique [4096];
  
  puVar1 = PTR___stack_chk_guard_003a9230;
  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;
  if (image_info == (ImageInfo *)0x0) {
LAB_0004c02c:
    length = unaff_s5;
    exception = unaff_s3;
    puVar28 = PTR_LAB_003a88e0 + 0x2520;
    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);
  }
  else {
    if (image_info->signature != 0xabacadab) {
LAB_0004bfdc:
      image = unaff_s1;
      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);
LAB_0004c000:
      (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004c00c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8
                 ,0x7f8,pEVar32 + 0x129);
      unaff_s1 = image;
      unaff_s2 = image_info;
      goto LAB_0004c02c;
    }
    if (image_info->debug != MagickFalse) {
      local_104c = image_info->filename;
      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);
    }
    puVar33 = PTR_CloneImageInfo_003a919c;
    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;
    unaff_s1 = image;
    unaff_s3 = exception;
    unaff_s5 = length;
    if (image == (Image *)0x0) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)
      ;
      goto LAB_0004bfdc;
    }
    if (image->signature != 0xabacadab) goto LAB_0004c00c;
    puVar28 = PTR_LAB_003a88e0;
    unaff_s2 = image_info;
    if (exception != (ExceptionInfo *)0x0) {
      *length = 0;
      unaff_s6 = image->magick;
      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);
      unaff_s0->quality = 0;
      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);
      if (*(char *)&unaff_s0->offset != '\0') {
        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);
      }
      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);
      if (unaff_s7 == (BlobInfo *)0x0) {
        pEVar32 = (ExceptionInfo *)0x804;
        image_info = (ImageInfo *)0x0;
        local_1048 = PTR_LAB_003a88e0 + 0x3e28;
        local_104c = PTR_LAB_003a88e0 + 0x1cec;
        local_1050 = (BlobInfo *)0x1a4;
        local_1044 = unaff_s6;
        (*(code *)PTR_ThrowMagickException_003a8f20)
                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
      }
      else {
        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);
        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);
        puVar33 = PTR_AcquireQuantumMemory_003a950c;
        if (iVar3 == 0) {
          unaff_s7 = (BlobInfo *)unique;
          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);
          if (iVar3 == -1) {
            pcVar4 = image_info->filename;
            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
            pEVar32 = (ExceptionInfo *)0x835;
            image_info = (ImageInfo *)0x0;
            local_1048 = PTR_LAB_003a88e0 + 0xe78;
            local_104c = PTR_LAB_003a88e0 + 0x1ba4;
            local_1050 = (BlobInfo *)&DAT_000001b3;
            local_1044 = pcVar4;
            local_1040 = pIVar5;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);
            (*(code *)PTR_DestroyString_003a9074)(pIVar5);
          }
          else {
            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);
            unaff_s0->montage = pcVar4;
            pIVar5 = image;
            if (pcVar4 == (char *)0x0) {
LAB_0004bd90:
              image_info = (ImageInfo *)0x0;
            }
            else {
              pEVar32 = (ExceptionInfo *)unaff_s6;
              local_1050 = unaff_s7;
              (*(code *)PTR_FormatLocaleString_003a8d7c)
                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);
              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);
              (*(code *)PTR_CloseBlob_003a9688)(image);
              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);
              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;
              pEVar32 = exception;
              image_info = (ImageInfo *)
                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);
            }
            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);
          }
        }
        else {
          unaff_s0->geometry = (char *)0x0;
          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);
          unaff_s0->directory = pcVar4;
          if (pcVar4 == (char *)0x0) {
            pIVar5 = (Image *)image->filename;
            pEVar32 = (ExceptionInfo *)0x814;
            local_1048 = PTR_LAB_003a88e0 + 0x3e28;
            local_104c = PTR_LAB_003a88e0 + 0x16f8;
            local_1050 = (BlobInfo *)0x190;
            local_1044 = (char *)pIVar5;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);
            image_info = (ImageInfo *)0x0;
          }
          else {
            (*(code *)PTR_CloseBlob_003a9688)(image);
            puVar33 = PTR_WriteImage_003a8f74;
            image->blob->exempt = MagickTrue;
            image->filename[0] = '\0';
            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);
            puVar33 = PTR_DetachBlob_003a976c;
            pBVar20 = image->blob;
            *length = pBVar20->length;
            iVar3 = (*(code *)puVar33)(pBVar20);
            if (iVar3 == 0) {
              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);
              unaff_s0->directory = pcVar4;
              image_info = (ImageInfo *)0x0;
            }
            else if (pIVar5 == (Image *)0x0) {
              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);
            }
            else {
              image_info = (ImageInfo *)
                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);
            }
          }
        }
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
        image = pIVar5;
      }
      if (iVar2 == *(int *)puVar1) {
        return image_info;
      }
      goto LAB_0004c000;
    }
  }
  psVar26 = (size_t *)&DAT_000007f9;
  pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520);
  pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8);
  pcVar36 = ImagesToBlob;
  pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac);
  puVar33 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  puStack_1074 = puVar1;
  pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0);
  EStack_108c = pEVar32->severity;
  pIStack_1084 = unaff_s0;
  pIStack_1080 = unaff_s1;
  pIStack_107c = unaff_s2;
  pEStack_1078 = exception;
  psStack_1070 = length;
  pcStack_106c = unaff_s6;
  pBStack_1068 = unaff_s7;
  pcStack_1064 = pcVar36;
  if (pIVar5 != (Image *)0x0) {
    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {
      if (*(int *)(pIVar5->magick + 0xed0) != 0) {
        (**(code **)(puVar33 + 0x35d170))
                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,
                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);
      }
      unaff_s0 = pIVar22;
      exception = pEVar29;
      length = psVar26;
      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;
      iVar2 = *(int *)(puVar33 + 0x35c870);
      if (pIVar22->signature == 0xabacadab) {
        pcVar36 = *(code **)(puVar33 + 0x35d12c);
        if (pEVar29 != (ExceptionInfo *)0x0) {
          *psVar26 = 0;
          unaff_s7 = (BlobInfo *)pIVar22->magick;
          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);
          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);
          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);
          if (unaff_s2->magick[0] != '\0') {
            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);
          }
          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);
          if (unaff_s6 == (char *)0x0) {
            pIVar5 = (Image *)0x0;
            (**(code **)(puVar33 + 0x35ceb0))
                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,
                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);
            (**(code **)(puVar33 + 0x35d578))(unaff_s2);
          }
          else {
            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);
            if (iVar2 == 0) {
              (**(code **)(puVar33 + 0x35d578))(unaff_s2);
              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);
            }
            else {
              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);
              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);
              pIVar8 = pIVar22;
              if (iVar2 == 0) {
                unaff_s6 = auStack_308c + 0x1000;
                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);
                if (iVar2 == -1) {
                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();
                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);
                  pIVar5 = (Image *)0x0;
                  (**(code **)(puVar33 + 0x35ceb0))
                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);
                  (**(code **)(puVar33 + 0x35d004))(pIVar8);
                }
                else {
                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))
                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);
                  unaff_s2->file = pFVar9;
                  if (pFVar9 == (FILE *)0x0) {
LAB_0004c308:
                    pIVar5 = (Image *)0x0;
                  }
                  else {
                    (**(code **)(puVar33 + 0x35cd0c))
                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);
                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))
                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);
                    (**(code **)(puVar33 + 0x35d618))(pIVar22);
                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);
                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;
                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))
                                                (unaff_s6,0xffffffff,psVar26,pEVar29);
                  }
                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);
                }
              }
              else {
                pcVar36 = *(code **)(puVar33 + 0x35d49c);
                unaff_s2->length = 0;
                unaff_s6 = pIVar22->filename;
                pvVar7 = (void *)(*pcVar36)(0x10000,1);
                unaff_s2->blob = pvVar7;
                if (pvVar7 == (void *)0x0) {
                  (**(code **)(puVar33 + 0x35ceb0))
                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);
                  pIVar5 = (Image *)0x0;
                }
                else {
                  (**(code **)(puVar33 + 0x35d618))(pIVar22);
                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);
                  pIVar22->blob->exempt = MagickTrue;
                  pIVar22->filename[0] = '\0';
                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);
                  pBVar20 = pIVar22->blob;
                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);
                  *psVar26 = pBVar20->length;
                  iVar2 = (*pcVar36)(pBVar20);
                  if (iVar2 == 0) {
                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);
                    unaff_s2->blob = pvVar7;
                    pIVar5 = (Image *)0x0;
                  }
                  else if (pIVar8 == (Image *)0x0) {
                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);
                  }
                  else {
                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);
                  }
                }
              }
              (**(code **)(puVar33 + 0x35d578))(unaff_s2);
              pIVar22 = pIVar8;
            }
          }
          unaff_s0 = pIVar22;
          if (EStack_108c == pEVar32->severity) {
            return pIVar5;
          }
          goto LAB_0004c598;
        }
        goto LAB_0004c5c8;
      }
    }
    else {
      (**(code **)(puVar33 + 0x35d598))
                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,
                 *(int *)(puVar33 + 0x35c870) + 0x24c4);
LAB_0004c598:
      (**(code **)(puVar33 + 0x35cff4))();
LAB_0004c5a4:
      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;
      (**(code **)(puVar33 + 0x35d598))
                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,
                 iVar2);
LAB_0004c5c8:
      iVar2 = iVar2 + 0x24c4;
      (**(code **)(puVar33 + 0x35d598))
                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,
                 iVar2);
    }
    (**(code **)(puVar33 + 0x35d598))
              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,
               iVar2 + 0x24c4);
    unaff_s1 = pIVar5;
  }
  pEVar27 = (ExceptionInfo *)0x982;
  pcVar36 = *(code **)(puVar33 + 0x35d598);
  pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4);
  pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78);
  (*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8);
  if (pIVar5 == (Image *)0x0) {
LAB_0004ca88:
    pIVar5 = unaff_s0;
    (**(code **)(pcVar36 + 0x35cfdc))
              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,
               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);
LAB_0004caac:
    pEVar27 = pEVar32;
    pEVar29 = exception;
    (**(code **)(pcVar36 + 0x35cfdc))
              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,
               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);
  }
  else {
    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;
    if (pIVar5->debug != MagickFalse) {
      (**(code **)(pcVar36 + 0x35cbb4))
                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,
                 0x13e7);
    }
    unaff_s1 = (Image *)pIVar5->blob;
    if (unaff_s1 == (Image *)0x0) {
      (**(code **)(pcVar36 + 0x35cfdc))
                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,
                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);
      unaff_s0 = pIVar5;
      exception = pEVar29;
      pEVar32 = pEVar27;
      goto LAB_0004ca88;
    }
    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;
    if (SVar10 != UndefinedStream) {
      if (SVar10 < BlobStream) {
        if (SVar10 < StandardStream) {
          if (SVar10 != FileStream) {
            return (void *)0x1;
          }
          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
          if (-1 < (longlong)uVar37) {
            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {
              return (void *)0x1;
            }
            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
            if (-1 < iVar2) {
              iVar2 = (**(code **)(pcVar36 + 0x35cb28))
                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,
                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);
              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {
                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))
                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);
                if (iVar3 == -1) {
                  return (void *)0x0;
                }
                (**(code **)(pcVar36 + 0x35ca14))(iVar3);
              }
              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
              return (void *)(uint)(iVar2 == 1);
            }
            return (void *)0x1;
          }
        }
      }
      else {
        if (SVar10 != BlobStream) {
          return (void *)0x1;
        }
        if (pEVar27 == (ExceptionInfo *)0x0) {
          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;
          if (unaff_s1->orientation == MagickFalse) {
            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);
            unaff_s1->colorspace = (ColorspaceType)pEVar29;
            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);
            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;
            SyncBlob(pIVar5);
            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {
              return (void *)0x1;
            }
            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);
            return (void *)0x0;
          }
          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);
          (**(code **)(pcVar36 + 0x35d0e0))(5);
          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
          if (-1 < lVar38) {
            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {
              return (void *)0x1;
            }
            if (pEVar29 <= (ExceptionInfo *)lVar38) {
              return (void *)0x1;
            }
            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
            iVar2 = (**(code **)(pcVar36 + 0x35cb28))
                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,
                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);
            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {
              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))
                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);
              if (iVar3 == -1) {
                return (void *)0x0;
              }
              if (lVar38 < 0) {
                return (void *)0x0;
              }
              (**(code **)(pcVar36 + 0x35ca14))
                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),
                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);
            }
            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);
            if (iVar2 == 1) {
              (**(code **)(pcVar36 + 0x35d1f0))(5);
              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))
                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);
              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);
              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;
              unaff_s1->colorspace = (ColorspaceType)pEVar29;
              unaff_s1->storage_class = (ClassType)pEVar29;
              SyncBlob(pIVar5);
              return (void *)0x1;
            }
          }
        }
      }
      return (void *)0x0;
    }
  }
  pEVar32 = (ExceptionInfo *)&DAT_000013e9;
  pcVar34 = *(code **)(pcVar36 + 0x35cfdc);
  pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8);
  pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10);
  (*pcVar34)();
  if (pIVar22 == (Image *)0x0) {
    pcVar36 = *(code **)(pcVar34 + 0x35cb14);
    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;
    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,
               iVar2);
    pIVar22 = unaff_s1;
LAB_0004cf00:
    iVar2 = iVar2 + 0x21d8;
    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,
               iVar2);
LAB_0004cf1c:
    (**(code **)(pcVar34 + 0x35cb14))
              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,
               iVar2 + 0x21d8);
LAB_0004cf3c:
    (**(code **)(pcVar34 + 0x35cb14))
              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,
               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);
  }
  else {
    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;
    pIVar5 = (Image *)pIVar22->blob;
    iVar2 = *(int *)(pcVar34 + 0x35bdec);
    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;
    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;
    pcVar36 = *(code **)(pcVar34 + 0x35cb14);
    if (uVar11 == 0) goto LAB_0004cf00;
    if (pIVar23 == (ImageInfo *)0x0) {
      return (void *)0x0;
    }
    unaff_s2 = pIVar23;
    pEVar27 = pEVar32;
    if (pEVar32 != (ExceptionInfo *)0x0) {
      if (uVar11 < 9) {
                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        pvVar7 = (void *)(*(pcVar34 +
                           (int)&DWORD_00363dbc +
                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();
        return pvVar7;
      }
      return (void *)0x0;
    }
  }
  uVar6 = 0x15f3;
  pcVar35 = *(code **)(pcVar34 + 0x35cb14);
  pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8);
  pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8);
  (*pcVar35)();
  pcVar36 = pcVar35 + 0x363930;
  piStack_3224 = *(int **)(pcVar35 + 0x35c2b0);
  iStack_316c = *piStack_3224;
  pIVar8 = pIVar22;
  pcStack_3230 = pcVar36;
  uStack_3220 = uVar6;
  pIStack_3168 = pIVar5;
  pIStack_3164 = pIVar22;
  pIStack_3160 = unaff_s2;
  pEStack_315c = pEVar29;
  pEStack_3158 = pEVar27;
  psStack_3154 = length;
  pcStack_3150 = unaff_s6;
  pBStack_314c = unaff_s7;
  if (pIVar21 == (Image *)0x0) {
LAB_0004d5d8:
    pIVar23 = unaff_s2;
    pIVar21 = pIVar5;
    pEVar32 = (ExceptionInfo *)0x664;
    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;
    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);
    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;
    (**(code **)(pcVar36 + -0x72a8))();
  }
  else {
    if (pIVar21->signature != 0xabacadab) {
LAB_0004d590:
      pIVar23 = unaff_s2;
      (**(code **)(pcVar36 + -0x72a8))
                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,
                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);
LAB_0004d5b4:
      (**(code **)(pcVar36 + -0x72a8))
                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,
                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);
      pIVar5 = pIVar21;
      pIVar8 = pIVar22;
      unaff_s2 = pIVar23;
      goto LAB_0004d5d8;
    }
    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;
    uVar11 = 0x667;
    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);
    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);
    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;
    pIStack_3244 = pIVar23;
    pEStack_321c = pEVar27;
    pEStack_3218 = pEVar29;
    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);
    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);
    if (iVar2 == 0) {
      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
      uVar11 = 0x66c;
      *puVar14 = 1;
      pEVar32 = pEVar29 + 0x130;
      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;
      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;
      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);
      iStack_3248 = 499;
      pIStack_323c = pIVar23;
      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
      pIVar8 = (Image *)0x0;
    }
    else {
      pEVar29 = (ExceptionInfo *)
                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));
      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))
                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);
      if (iVar2 == 0) {
        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);
        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;
LAB_0004d08c:
        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);
        if (((iVar2 != 0) ||
            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),
            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||
           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,
           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {
          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);
          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;
        }
        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);
        if (pIVar22 != (Image *)0x0) {
          length = (size_t *)&DAT_00000007;
LAB_0004d0d0:
          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);
LAB_0004d0d4:
          do {
            pIVar5 = pIVar22;
            pEVar32 = pEVar27;
            unaff_s8 = (*pcVar36)(pEVar29);
            if ((int)unaff_s8 < 1) {
              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();
              if (*piVar12 == 4) {
                unaff_s8 = 0;
                goto LAB_0004d114;
              }
LAB_0004d29c:
              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);
              if (iVar2 == -1) {
                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);
                uVar11 = 0x696;
                pEVar32 = pEStack_3218 + 0x130;
                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                pIStack_323c = pIVar23;
                pIStack_3238 = pIVar21;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);
              }
              pIVar8 = (Image *)0x1;
              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);
              goto LAB_0004d2c8;
            }
LAB_0004d114:
            pcVar36 = pcStack_3230;
            unaff_s7 = pIVar21->blob;
            pEVar32 = pEStack_321c;
            if (unaff_s7 == (BlobInfo *)0x0) {
LAB_0004d570:
              (**(code **)(pcVar36 + -0x72a8))
                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,
                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);
              unaff_s2 = pIVar23;
              goto LAB_0004d590;
            }
            if (unaff_s7->type == UndefinedStream) {
              pEVar32 = (ExceptionInfo *)
                        (**(code **)(pcStack_3230 + -0x72a8))
                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,
                                   &pEStack_321c[0xd6].semaphore,0x639,
                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);
              goto LAB_0004d570;
            }
            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);
            if (unaff_s7->type != BlobStream) {
              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);
LAB_0004d214:
              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);
              if (unaff_s8 != uVar13) {
                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);
                uVar11 = 0x690;
                pEVar32 = pEStack_3218 + 0x130;
                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                pIStack_323c = pIVar23;
                pIStack_3238 = pIVar21;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);
                goto LAB_0004d29c;
              }
              goto LAB_0004d0d4;
            }
            uVar13 = (uint)unaff_s7->offset;
            uVar11 = unaff_s7->extent;
            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=
                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {
              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);
              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;
              unaff_s7->quantum = unaff_s7->quantum << 1;
              uStack_3214 = unaff_s8;
              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);
              if (iVar2 == 0) {
                uVar13 = 0;
                goto LAB_0004d214;
              }
              uVar13 = (uint)unaff_s7->offset;
              uVar24 = uStack_3214;
            }
            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);
            iVar2 = *(int *)&unaff_s7->offset;
            uVar13 = unaff_s8 + (int)unaff_s7->offset;
            uVar24 = unaff_s7->length;
            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;
            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;
            *(char **)&unaff_s7->offset = pcVar4;
            if ((int)pcVar4 < 0) goto LAB_0004d0d0;
            if ((pcVar4 != (char *)0x0) ||
               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;
          } while( true );
        }
        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);
        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);
        uVar11 = 0x680;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar36 = *(code **)(pcStack_3230 + -0x7990);
        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);
        iStack_3248 = 400;
      }
      else {
        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);
        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;
        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);
LAB_0004d3d0:
        puVar14 = (undefined4 *)(*pcVar36)();
        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);
        uVar11 = 0x675;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar36 = *(code **)(pcStack_3230 + -0x7990);
        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);
        iStack_3248 = 0x1b3;
      }
      iStack_3240 = iStack_3240 + 0xe78;
      pEVar32 = pEStack_3218 + 0x130;
      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;
      pIVar8 = (Image *)0x0;
      pIStack_323c = pIVar23;
      pIStack_3238 = pIVar21;
      (*pcVar36)(uStack_3220);
      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);
    }
LAB_0004d2c8:
    iVar2 = iStack_316c;
    pcVar36 = pcStack_3230;
    if (iStack_316c == *piStack_3224) {
      return pIVar8;
    }
  }
  pcVar36 = *(code **)(pcVar36 + -0x784c);
  pcVar34 = InjectImageBlob;
  (*pcVar36)();
  iVar3 = iStack_3248;
  piVar12 = *(int **)(pcVar36 + 0x35bc28);
  iStack_3284 = *piVar12;
  pIStack_3280 = pIVar21;
  pIStack_327c = pIVar8;
  pIStack_3278 = pIVar23;
  pEStack_3274 = pEVar29;
  pEStack_3270 = pEVar27;
  psStack_326c = length;
  pcStack_3268 = unaff_s6;
  pBStack_3264 = unaff_s7;
  uStack_3260 = unaff_s8;
  pcStack_325c = pcVar34;
  if (iVar2 == 0) {
LAB_0004ddfc:
    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;
    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;
    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);
    uVar25 = (undefined1)iVar3;
  }
  else {
    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {
LAB_0004ddd8:
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,
                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddfc;
    }
    if (pIVar5 == (Image *)0x0) {
LAB_0004ddb4:
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,
                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddd8;
    }
    if (pIVar5->signature != 0xabacadab) {
LAB_0004dd4c:
      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,
                 iVar30);
LAB_0004dd70:
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,
                 iVar30 + 0x2474);
LAB_0004dd90:
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,
                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddb4;
    }
    if (pIVar5->debug != MagickFalse) {
      (**(code **)(pcVar36 + 0x35bbd8))
                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,
                 0xac4);
    }
    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;
    iVar30 = *(int *)(pcVar36 + 0x35b2d8);
    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;
    if (iVar3 == 0) {
LAB_0004dd2c:
      (**(code **)(pcVar36 + 0x35c000))
                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,
                 iVar30 + 0x2474);
      goto LAB_0004dd4c;
    }
    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);
    if ((iVar30 == -1) ||
       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),
       iVar30 == 0)) {
      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);
      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();
      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);
      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;
      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);
      uVar25 = (undefined1)iVar2;
      pvVar7 = (void *)0x0;
      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);
    }
    else {
      uVar25 = 0;
      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);
      if (iVar15 == 0) {
        pvVar7 = (void *)0x0;
        (**(code **)(pcVar36 + 0x35bd94))(iVar30);
        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);
      }
      else {
        (**(code **)(pcVar36 + 0x35b774))
                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);
        (**(code **)(pcVar36 + 0x35ba08))(iVar15);
        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);
        pcVar34 = *(code **)(pcVar36 + 0x35bb94);
        *(undefined4 *)(iVar15 + 0x3348) = uVar6;
        uVar6 = (*pcVar34)(iVar2);
        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);
        iVar2 = iVar15;
        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);
        uVar25 = (undefined1)iVar2;
        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);
        (**(code **)(pcVar36 + 0x35b944))(iVar15);
        (**(code **)(pcVar36 + 0x35bd94))(iVar30);
        if (pvVar7 == (void *)0x0) {
          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);
        }
        else {
          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);
          if (iVar2 == -1) {
            pvVar7 = (void *)0x0;
            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);
            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();
            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);
            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar36 + 0x35b918))
                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);
            uVar25 = (undefined1)iVar2;
            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);
          }
          else {
            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);
            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))
               && (uStack_42ec - 1 < 0x13fff)) {
              uStack_4330 = uStack_42ec;
            }
            else {
              uStack_4330 = 0x14000;
            }
            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);
            if (iVar15 != 0) {
              while( true ) {
                iVar30 = iVar15;
                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);
                uVar25 = (undefined1)iVar30;
                if ((int)uVar11 < 1) {
                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();
                  if (*piVar16 != 4) {
                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);
                    if (iVar2 == -1) {
                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);
                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;
                      (**(code **)(pcVar36 + 0x35b918))
                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);
                      uVar25 = (undefined1)iVar2;
                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);
                    }
                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);
                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);
                    goto LAB_0004d764;
                  }
                  uVar11 = 0;
                }
                pBVar20 = pIVar5->blob;
                iVar30 = *(int *)(pcVar36 + 0x35b2d8);
                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;
                if (pBVar20->type == UndefinedStream) break;
                if (pBVar20->type == BlobStream) {
                  uVar13 = (uint)pBVar20->offset;
                  if (((uint)(uVar13 + uVar11 < uVar13) +
                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&
                     (uVar13 + uVar11 < pBVar20->extent)) {
LAB_0004da64:
                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);
                    iVar30 = *(int *)&pBVar20->offset;
                    uVar13 = uVar11 + (int)pBVar20->offset;
                    uVar24 = pBVar20->length;
                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;
                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;
                    *(int *)&pBVar20->offset = iVar30;
                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {
                      pvVar7 = (void *)0x1;
                    }
                    else {
                      pBVar20->length = uVar13;
                      pvVar7 = (void *)0x1;
                    }
                  }
                  else {
                    sVar17 = pBVar20->quantum;
                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);
                    pBVar20->quantum = sVar17 << 1;
                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);
                    if (iVar30 != 0) {
                      uVar13 = (uint)pBVar20->offset;
                      goto LAB_0004da64;
                    }
                    pvVar7 = (void *)(uint)(uVar11 == 0);
                  }
                }
                else {
                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);
                  pvVar7 = (void *)(uint)(uVar11 == uVar13);
                }
              }
              iVar30 = iVar30 + 0x25f0;
              (**(code **)(pcVar36 + 0x35c000))
                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8
                         ,0x639,iVar30);
LAB_0004dd0c:
              iVar30 = iVar30 + 0x25f0;
              (**(code **)(pcVar36 + 0x35c000))
                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8
                         ,0x638,iVar30);
              goto LAB_0004dd2c;
            }
            pvVar7 = (void *)0x0;
            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);
            (**(code **)(pcVar36 + 0x35bb54))(iVar2);
            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar36 + 0x35b918))
                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);
            uVar25 = (undefined1)iVar2;
          }
        }
      }
    }
LAB_0004d764:
    iVar2 = iStack_3284;
    if (iStack_3284 == *piVar12) {
      return pvVar7;
    }
  }
  pcVar36 = *(code **)(pcVar36 + 0x35ba5c);
  (*pcVar36)();
  if (iVar2 == 0) {
LAB_0004e038:
    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;
    (**(code **)(pcVar36 + 0x35b7dc))
              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,
               iVar3);
  }
  else {
    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {
LAB_0004e014:
      (**(code **)(pcVar36 + 0x35b7dc))
                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5
                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);
      goto LAB_0004e038;
    }
    puVar31 = *(uint **)(iVar2 + 0x3348);
    iVar3 = *(int *)(pcVar36 + 0x35aab4);
    if (puVar31 == (uint *)0x0) {
      (**(code **)(pcVar36 + 0x35b7dc))
                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,
                 iVar3 + 0x21c8);
      goto LAB_0004e014;
    }
    uVar11 = puVar31[0x10];
    if (uVar11 != 0) {
      if (uVar11 - 1 < 3) {
        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);
        if (iVar2 != -1) {
          return (void *)0x1;
        }
        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);
        if (iVar2 == 0) {
          return (void *)0x0;
        }
        if (puVar31[0xe] == 0) {
          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();
          if (*puVar18 != 0) {
            puVar31[7] = *puVar18;
          }
        }
        puVar31[0xe] = 1;
        return (void *)0x0;
      }
      if (uVar11 != 7) {
        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();
        return pvVar7;
      }
      uVar13 = puVar31[9];
      uVar11 = uVar13 + 1;
      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {
        if (uVar11 < puVar31[1]) goto LAB_0004dee0;
        uVar13 = puVar31[2];
        uVar11 = 0;
      }
      else {
        uVar13 = puVar31[2];
      }
      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);
      puVar31[2] = uVar13 << 1;
      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);
      if (iVar2 == 0) {
        return (void *)0x0;
      }
      uVar13 = puVar31[9];
LAB_0004dee0:
      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;
      uVar11 = puVar31[9];
      uVar13 = uVar11 + 1;
      puVar31[9] = uVar13;
      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];
      puVar31[8] = uVar11;
      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {
        *puVar31 = uVar13;
        return (void *)0x1;
      }
      return (void *)0x1;
    }
  }
  pcVar34 = *(code **)(pcVar36 + 0x35b7dc);
  iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8;
  iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10;
  (*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8);
  piVar12 = *(int **)(pcVar34 + 0x35b1b4);
  iVar3 = *piVar12;
  if (iVar30 != 0) {
    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {
      puVar31 = *(uint **)(iVar30 + 0x3348);
      if (*(int *)(iVar30 + 0x25c) == 1) {
        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),
                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));
        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;
        if (puVar31[0x10] == 0) goto LAB_0004e2a8;
        if (puVar31[0x10] != 7) {
          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();
          goto LAB_0004e1b8;
        }
        uVar11 = puVar31[9];
        uVar13 = uVar11 + 4;
        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&
           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {
          uVar13 = puVar31[0x3c];
        }
        else {
          uVar11 = puVar31[2];
          pcVar36 = *(code **)(pcVar34 + 0x35b384);
          puVar31[2] = uVar11 << 1;
          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);
          if (iVar30 == 0) goto LAB_0004e2a0;
          uVar11 = puVar31[9];
          uVar13 = puVar31[0x3c];
        }
LAB_0004e15c:
        *(int *)(uVar13 + uVar11) = iVar2;
        uVar11 = puVar31[9];
        uVar13 = uVar11 + 4;
        puVar31[9] = uVar13;
        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];
        puVar31[8] = uVar11;
        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {
          puVar19 = &DAT_00000004;
        }
        else {
          *puVar31 = uVar13;
          puVar19 = &DAT_00000004;
        }
LAB_0004e1b8:
        if (iVar3 == *piVar12) {
          return puVar19;
        }
        goto LAB_0004e338;
      }
      if (puVar31 != (uint *)0x0) {
        if (puVar31[0x10] != 0) {
          if (puVar31[0x10] == 7) {
            uVar11 = puVar31[9];
            uVar13 = uVar11 + 4;
            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {
              if (puVar31[1] <= uVar13) {
                uVar11 = puVar31[2];
                uVar13 = 0;
                goto LAB_0004e128;
              }
            }
            else {
              uVar11 = puVar31[2];
LAB_0004e128:
              pcVar36 = *(code **)(pcVar34 + 0x35b384);
              puVar31[2] = uVar11 << 1;
              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);
              if (iVar30 == 0) {
LAB_0004e2a0:
                puVar19 = (undefined1 *)0x0;
                goto LAB_0004e1b8;
              }
              uVar11 = puVar31[9];
            }
            uVar13 = puVar31[0x3c];
            goto LAB_0004e15c;
          }
          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();
          goto LAB_0004e1b8;
        }
LAB_0004e2a8:
        (**(code **)(pcVar34 + 0x35b58c))
                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639
                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);
      }
LAB_0004e2cc:
      (**(code **)(pcVar34 + 0x35b58c))
                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,
                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);
    }
    (**(code **)(pcVar34 + 0x35b58c))
              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,
               *(int *)(pcVar34 + 0x35a864) + 0x21b8);
  }
  (**(code **)(pcVar34 + 0x35b58c))
            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,
             *(int *)(pcVar34 + 0x35a864) + 0x21b8);
LAB_0004e338:
  pcVar36 = *(code **)(pcVar34 + 0x35afe8);
  (*pcVar36)();
                    /* WARNING: Could not recover jumptable at 0x0004e354. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))();
  return pvVar7;
LAB_0004d1b4:
  unaff_s7->length = uVar13;
  goto LAB_0004d0d0;
}



/* WARNING: Removing unreachable block (ram,0x0004c948) */

int * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined *puVar4;
  uint uVar5;
  int iVar6;
  uint uVar7;
  undefined4 *puVar8;
  int iVar9;
  uint *puVar10;
  int *piVar11;
  int *piVar12;
  undefined *puVar13;
  int *piVar14;
  uint uVar15;
  int *piVar16;
  undefined1 uVar17;
  dword *pdVar18;
  undefined *puVar19;
  int iVar20;
  undefined1 *puVar21;
  undefined *unaff_s0;
  uint *puVar22;
  int *unaff_s1;
  int *unaff_s2;
  int *unaff_s3;
  dword *pdVar23;
  int *unaff_s5;
  int *unaff_s6;
  uint *unaff_s7;
  code *pcVar24;
  code *pcVar25;
  uint unaff_s8;
  code *pcVar26;
  ulonglong uVar27;
  longlong lVar28;
  uint uStack_4330;
  undefined1 auStack_4328 [56];
  int iStack_42f0;
  uint uStack_42ec;
  undefined1 auStack_4284 [4096];
  int iStack_3284;
  undefined *puStack_3280;
  int *piStack_327c;
  int *piStack_3278;
  int *piStack_3274;
  dword *pdStack_3270;
  int *piStack_326c;
  int *piStack_3268;
  uint *puStack_3264;
  uint uStack_3260;
  code *pcStack_325c;
  int iStack_3248;
  int *piStack_3244;
  int iStack_3240;
  int *piStack_323c;
  undefined *puStack_3238;
  code *pcStack_3230;
  int *piStack_3224;
  undefined4 uStack_3220;
  dword *pdStack_321c;
  int *piStack_3218;
  uint uStack_3214;
  undefined1 auStack_3210 [56];
  int iStack_31d8;
  dword *pdStack_31d4;
  int iStack_316c;
  undefined *puStack_3168;
  int *piStack_3164;
  int *piStack_3160;
  int *piStack_315c;
  dword *pdStack_3158;
  int *piStack_3154;
  int *piStack_3150;
  uint *puStack_314c;
  undefined1 auStack_308c [4096];
  int aiStack_208c [1024];
  dword dStack_108c;
  undefined *puStack_1084;
  int *piStack_1080;
  int *piStack_107c;
  int *piStack_1078;
  undefined *puStack_1074;
  int *piStack_1070;
  int *piStack_106c;
  uint *puStack_1068;
  code *pcStack_1064;
  uint *local_1050;
  int *local_104c;
  undefined *local_1048;
  int *local_1044;
  int *local_1040;
  uint auStack_102c [1024];
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  local_2c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == (int *)0x0) {
LAB_0004c02c:
    param_3 = unaff_s5;
    param_4 = unaff_s3;
    puVar19 = PTR_LAB_003a88e0 + 0x2520;
    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);
  }
  else {
    if (param_1[0xc85] != -0x54535255) {
LAB_0004bfdc:
      param_2 = unaff_s1;
      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);
LAB_0004c000:
      (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004c00c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8
                 ,0x7f8,piVar12 + 0x948);
      unaff_s1 = param_2;
      unaff_s2 = param_1;
      goto LAB_0004c02c;
    }
    if (param_1[0xc84] != 0) {
      local_104c = param_1 + 0x884;
      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);
    }
    puVar13 = PTR_CloneImageInfo_003a919c;
    piVar12 = (int *)PTR_LAB_003a88e0;
    unaff_s1 = param_2;
    unaff_s3 = param_4;
    unaff_s5 = param_3;
    if (param_2 == (int *)0x0) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)
      ;
      goto LAB_0004bfdc;
    }
    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;
    puVar19 = PTR_LAB_003a88e0;
    unaff_s2 = param_1;
    if (param_4 != (int *)0x0) {
      *param_3 = 0;
      unaff_s6 = param_2 + 0x8d0;
      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);
      *(undefined4 *)(unaff_s0 + 0xc) = 0;
      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);
      if (unaff_s0[0x210] != '\0') {
        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);
      }
      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);
      if (unaff_s7 == (uint *)0x0) {
        piVar12 = (int *)0x804;
        param_1 = (int *)0x0;
        local_1048 = PTR_LAB_003a88e0 + 0x3e28;
        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);
        local_1050 = (uint *)0x1a4;
        local_1044 = unaff_s6;
        (*(code *)PTR_ThrowMagickException_003a8f20)
                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
      }
      else {
        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);
        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);
        puVar13 = PTR_AcquireQuantumMemory_003a950c;
        if (iVar1 == 0) {
          unaff_s7 = auStack_102c;
          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);
          if (iVar1 == -1) {
            piVar11 = param_1 + 0x884;
            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);
            piVar12 = (int *)0x835;
            param_1 = (int *)0x0;
            local_1048 = PTR_LAB_003a88e0 + 0xe78;
            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);
            local_1050 = (uint *)&DAT_000001b3;
            local_1044 = piVar11;
            local_1040 = piVar2;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);
            (*(code *)PTR_DestroyString_003a9074)(piVar2);
          }
          else {
            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);
            *(int *)(unaff_s0 + 0x204) = iVar1;
            piVar2 = param_2;
            if (iVar1 == 0) {
LAB_0004bd90:
              param_1 = (int *)0x0;
            }
            else {
              piVar12 = unaff_s6;
              local_1050 = unaff_s7;
              (*(code *)PTR_FormatLocaleString_003a8d7c)
                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);
              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);
              (*(code *)PTR_CloseBlob_003a9688)(param_2);
              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));
              if (piVar2 == (int *)0x0) goto LAB_0004bd90;
              piVar12 = param_4;
              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)
                                         (unaff_s7,0xffffffff,param_3,param_4);
            }
            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);
          }
        }
        else {
          *(undefined4 *)(unaff_s0 + 0x20c) = 0;
          iVar1 = (*(code *)puVar13)(0x10000,1);
          *(int *)(unaff_s0 + 0x208) = iVar1;
          if (iVar1 == 0) {
            piVar2 = param_2 + 0xd0;
            piVar12 = (int *)0x814;
            local_1048 = PTR_LAB_003a88e0 + 0x3e28;
            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);
            local_1050 = (uint *)0x190;
            local_1044 = piVar2;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);
            param_1 = (int *)0x0;
          }
          else {
            (*(code *)PTR_CloseBlob_003a9688)(param_2);
            puVar13 = PTR_WriteImage_003a8f74;
            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;
            *(undefined1 *)(param_2 + 0xd0) = 0;
            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);
            puVar13 = PTR_DetachBlob_003a976c;
            piVar11 = (int *)param_2[0xcd2];
            *param_3 = *piVar11;
            iVar1 = (*(code *)puVar13)(piVar11);
            if (iVar1 == 0) {
              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)
                                (*(undefined4 *)(unaff_s0 + 0x208));
              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;
              param_1 = (int *)0x0;
            }
            else if (piVar2 == (int *)0x0) {
              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);
            }
            else {
              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);
            }
          }
        }
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
        param_2 = piVar2;
      }
      if (local_2c == *(int *)puVar4) {
        return param_1;
      }
      goto LAB_0004c000;
    }
  }
  piVar2 = (int *)&DAT_000007f9;
  piVar11 = (int *)(puVar19 + 0x2520);
  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;
  pcVar26 = ImagesToBlob;
  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);
  puVar19 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  puStack_1074 = puVar4;
  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);
  dStack_108c = *pdVar23;
  puStack_1084 = unaff_s0;
  piStack_1080 = unaff_s1;
  piStack_107c = unaff_s2;
  piStack_1078 = param_4;
  piStack_1070 = param_3;
  piStack_106c = unaff_s6;
  puStack_1068 = unaff_s7;
  pcStack_1064 = pcVar26;
  if (piVar12 != (int *)0x0) {
    if (piVar12[0xc85] == -0x54535255) {
      if (piVar12[0xc84] != 0) {
        (**(code **)(puVar19 + 0x35d170))
                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);
      }
      unaff_s0 = puVar13;
      param_4 = piVar11;
      param_3 = piVar2;
      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;
      iVar1 = *(int *)(puVar19 + 0x35c870);
      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {
        pcVar26 = *(code **)(puVar19 + 0x35d12c);
        if (piVar11 != (int *)0x0) {
          *piVar2 = 0;
          unaff_s7 = (uint *)(puVar13 + 0x2340);
          unaff_s2 = (int *)(*pcVar26)(piVar12);
          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);
          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);
          if (*(char *)(unaff_s2 + 0x84) != '\0') {
            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);
          }
          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);
          if (unaff_s6 == (int *)0x0) {
            piVar12 = (int *)0x0;
            (**(code **)(puVar19 + 0x35ceb0))
                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);
            (**(code **)(puVar19 + 0x35d578))(unaff_s2);
          }
          else {
            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);
            if (iVar1 == 0) {
              (**(code **)(puVar19 + 0x35d578))(unaff_s2);
              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);
            }
            else {
              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);
              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);
              puVar4 = puVar13;
              if (iVar1 == 0) {
                unaff_s6 = aiStack_208c;
                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);
                if (iVar1 == -1) {
                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();
                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);
                  piVar12 = (int *)0x0;
                  (**(code **)(puVar19 + 0x35ceb0))
                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);
                  (**(code **)(puVar19 + 0x35d004))(puVar4);
                }
                else {
                  iVar1 = (**(code **)(puVar19 + 0x35d768))
                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);
                  unaff_s2[0x81] = iVar1;
                  if (iVar1 == 0) {
LAB_0004c308:
                    piVar12 = (int *)0x0;
                  }
                  else {
                    (**(code **)(puVar19 + 0x35cd0c))
                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);
                    puVar4 = (undefined *)
                             (**(code **)(puVar19 + 0x35cc0c))
                                       (unaff_s2,puVar13,auStack_308c,piVar11);
                    (**(code **)(puVar19 + 0x35d618))(puVar13);
                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);
                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))
                                               (unaff_s6,0xffffffff,piVar2,piVar11);
                  }
                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);
                }
              }
              else {
                pcVar26 = *(code **)(puVar19 + 0x35d49c);
                unaff_s2[0x83] = 0;
                unaff_s6 = (int *)(puVar13 + 0x340);
                iVar1 = (*pcVar26)(0x10000,1);
                unaff_s2[0x82] = iVar1;
                if (iVar1 == 0) {
                  (**(code **)(puVar19 + 0x35ceb0))
                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);
                  piVar12 = (int *)0x0;
                }
                else {
                  (**(code **)(puVar19 + 0x35d618))(puVar13);
                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);
                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;
                  puVar13[0x340] = 0;
                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);
                  piVar12 = *(int **)(puVar13 + 0x3348);
                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);
                  *piVar2 = *piVar12;
                  iVar1 = (*pcVar26)(piVar12);
                  if (iVar1 == 0) {
                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);
                    unaff_s2[0x82] = iVar1;
                    piVar12 = (int *)0x0;
                  }
                  else if (puVar4 == (undefined *)0x0) {
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);
                  }
                  else {
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);
                  }
                }
              }
              (**(code **)(puVar19 + 0x35d578))(unaff_s2);
              puVar13 = puVar4;
            }
          }
          unaff_s0 = puVar13;
          if (dStack_108c == *pdVar23) {
            return piVar12;
          }
          goto LAB_0004c598;
        }
        goto LAB_0004c5c8;
      }
    }
    else {
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,
                 *(int *)(puVar19 + 0x35c870) + 0x24c4);
LAB_0004c598:
      (**(code **)(puVar19 + 0x35cff4))();
LAB_0004c5a4:
      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,
                 iVar1);
LAB_0004c5c8:
      iVar1 = iVar1 + 0x24c4;
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,
                 iVar1);
    }
    (**(code **)(puVar19 + 0x35d598))
              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,
               iVar1 + 0x24c4);
    unaff_s1 = piVar12;
  }
  pdVar18 = (dword *)0x982;
  pcVar26 = *(code **)(puVar19 + 0x35d598);
  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);
  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);
  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);
  if (puVar4 == (undefined *)0x0) {
LAB_0004ca88:
    puVar4 = unaff_s0;
    (**(code **)(pcVar26 + 0x35cfdc))
              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,
               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
LAB_0004caac:
    pdVar18 = pdVar23;
    piVar12 = param_4;
    (**(code **)(pcVar26 + 0x35cfdc))
              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,
               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
  }
  else {
    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;
    if (*(int *)(puVar4 + 0x3350) != 0) {
      (**(code **)(pcVar26 + 0x35cbb4))
                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,
                 0x13e7);
    }
    unaff_s1 = *(int **)(puVar4 + 0x3348);
    if (unaff_s1 == (int *)0x0) {
      (**(code **)(pcVar26 + 0x35cfdc))
                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,
                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
      unaff_s0 = puVar4;
      param_4 = piVar12;
      pdVar23 = pdVar18;
      goto LAB_0004ca88;
    }
    uVar5 = unaff_s1[0x10];
    if (uVar5 != 0) {
      if (uVar5 < 7) {
        if (uVar5 < 2) {
          if (uVar5 != 1) {
            return (int *)0x1;
          }
          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
          if (-1 < (longlong)uVar27) {
            if (CONCAT44(pdVar18,piVar12) <= uVar27) {
              return (int *)0x1;
            }
            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            if (-1 < iVar1) {
              iVar1 = (**(code **)(pcVar26 + 0x35cb28))
                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);
              if (unaff_s1[0xd] != 0) {
                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
                if (iVar6 == -1) {
                  return (int *)0x0;
                }
                (**(code **)(pcVar26 + 0x35ca14))(iVar6);
              }
              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
              return (int *)(uint)(iVar1 == 1);
            }
            return (int *)0x1;
          }
        }
      }
      else {
        if (uVar5 != 7) {
          return (int *)0x1;
        }
        if (pdVar18 == (dword *)0x0) {
          if (unaff_s1[4] == 0) {
            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);
            unaff_s1[1] = (int)piVar12;
            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);
            unaff_s1[0x3c] = iVar1;
            FUN_00044818(puVar4);
            if (unaff_s1[0x3c] != 0) {
              return (int *)0x1;
            }
            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);
            return (int *)0x0;
          }
          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);
          (**(code **)(pcVar26 + 0x35d0e0))(5);
          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
          if (-1 < lVar28) {
            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {
              return (int *)0x1;
            }
            if (piVar12 <= (int *)lVar28) {
              return (int *)0x1;
            }
            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            iVar1 = (**(code **)(pcVar26 + 0x35cb28))
                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);
            if (unaff_s1[0xd] != 0) {
              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
              if (iVar6 == -1) {
                return (int *)0x0;
              }
              if (lVar28 < 0) {
                return (int *)0x0;
              }
              (**(code **)(pcVar26 + 0x35ca14))
                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),
                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);
            }
            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            if (iVar1 == 1) {
              (**(code **)(pcVar26 + 0x35d1f0))(5);
              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);
              unaff_s1[0x3c] = iVar1;
              unaff_s1[1] = (int)piVar12;
              *unaff_s1 = (int)piVar12;
              FUN_00044818(puVar4);
              return (int *)0x1;
            }
          }
        }
      }
      return (int *)0x0;
    }
  }
  pdVar23 = (dword *)&DAT_000013e9;
  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);
  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);
  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);
  (*pcVar24)();
  if (piVar2 == (int *)0x0) {
    pcVar26 = *(code **)(pcVar24 + 0x35cb14);
    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;
    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,
               iVar1);
    piVar2 = unaff_s1;
LAB_0004cf00:
    iVar1 = iVar1 + 0x21d8;
    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,
               iVar1);
LAB_0004cf1c:
    (**(code **)(pcVar24 + 0x35cb14))
              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,
               iVar1 + 0x21d8);
LAB_0004cf3c:
    (**(code **)(pcVar24 + 0x35cb14))
              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,
               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);
  }
  else {
    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;
    puVar4 = (undefined *)piVar2[0xcd2];
    iVar1 = *(int *)(pcVar24 + 0x35bdec);
    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;
    uVar5 = *(uint *)(puVar4 + 0x40);
    pcVar26 = *(code **)(pcVar24 + 0x35cb14);
    if (uVar5 == 0) goto LAB_0004cf00;
    if (piVar11 == (int *)0x0) {
      return (int *)0x0;
    }
    unaff_s2 = piVar11;
    pdVar18 = pdVar23;
    if (pdVar23 != (dword *)0x0) {
      if (uVar5 < 9) {
                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        piVar12 = (int *)(*(pcVar24 +
                           (int)&DWORD_00363dbc +
                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();
        return piVar12;
      }
      return (int *)0x0;
    }
  }
  uVar3 = 0x15f3;
  pcVar25 = *(code **)(pcVar24 + 0x35cb14);
  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);
  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);
  (*pcVar25)();
  pcVar26 = pcVar25 + 0x363930;
  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);
  iStack_316c = *piStack_3224;
  piVar11 = piVar2;
  pcStack_3230 = pcVar26;
  uStack_3220 = uVar3;
  puStack_3168 = puVar4;
  piStack_3164 = piVar2;
  piStack_3160 = unaff_s2;
  piStack_315c = piVar12;
  pdStack_3158 = pdVar18;
  piStack_3154 = param_3;
  piStack_3150 = unaff_s6;
  puStack_314c = unaff_s7;
  if (puVar13 == (undefined *)0x0) {
LAB_0004d5d8:
    piVar14 = unaff_s2;
    puVar13 = puVar4;
    pdVar23 = (dword *)0x664;
    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;
    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);
    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;
    (**(code **)(pcVar26 + -0x72a8))();
  }
  else {
    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {
LAB_0004d590:
      piVar14 = unaff_s2;
      (**(code **)(pcVar26 + -0x72a8))
                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,
                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);
LAB_0004d5b4:
      (**(code **)(pcVar26 + -0x72a8))
                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,
                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);
      puVar4 = puVar13;
      piVar11 = piVar2;
      unaff_s2 = piVar14;
      goto LAB_0004d5d8;
    }
    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;
    uVar5 = 0x667;
    piVar12 = *(int **)(pcVar25 + 0x35b960);
    pdVar18 = *(dword **)(pcVar25 + 0x35b960);
    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;
    piStack_3244 = piVar14;
    pdStack_321c = pdVar18;
    piStack_3218 = piVar12;
    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);
    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);
    if (iVar1 == 0) {
      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
      uVar5 = 0x66c;
      *puVar8 = 1;
      pdVar23 = (dword *)(piVar12 + 0x980);
      piVar16 = (int *)(pdVar18 + 0x6b6);
      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;
      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);
      iStack_3248 = 499;
      piStack_323c = piVar14;
      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
      piVar11 = (int *)0x0;
    }
    else {
      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))
                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));
      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))
                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);
      if (iVar1 == 0) {
        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);
        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;
LAB_0004d08c:
        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);
        if (((iVar1 != 0) ||
            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))
           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,
              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <
              (undefined4 *)((int)pdStack_31d4 + -1))) {
          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);
          pdVar18 = &__DT_SYMTAB[0x16e].st_size;
        }
        piVar2 = (int *)(*pcVar26)(pdVar18,1);
        if (piVar2 != (int *)0x0) {
          param_3 = (int *)&DAT_00000007;
LAB_0004d0d0:
          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);
LAB_0004d0d4:
          do {
            piVar16 = piVar2;
            pdVar23 = pdVar18;
            unaff_s8 = (*pcVar26)(piVar12);
            if ((int)unaff_s8 < 1) {
              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();
              if (*piVar11 == 4) {
                unaff_s8 = 0;
                goto LAB_0004d114;
              }
LAB_0004d29c:
              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);
              if (iVar1 == -1) {
                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
                uVar5 = 0x696;
                pdVar23 = (dword *)(piStack_3218 + 0x980);
                piVar16 = (int *)(pdStack_321c + 0x6b6);
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                piStack_323c = piVar14;
                puStack_3238 = puVar13;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(puVar13);
              }
              piVar11 = (int *)0x1;
              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);
              goto LAB_0004d2c8;
            }
LAB_0004d114:
            pcVar26 = pcStack_3230;
            unaff_s7 = *(uint **)(puVar13 + 0x3348);
            pdVar23 = pdStack_321c;
            if (unaff_s7 == (uint *)0x0) {
LAB_0004d570:
              (**(code **)(pcVar26 + -0x72a8))
                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,
                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);
              unaff_s2 = piVar14;
              goto LAB_0004d590;
            }
            if (unaff_s7[0x10] == 0) {
              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))
                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,
                                            pdStack_321c + 0x6b6,0x639,
                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);
              goto LAB_0004d570;
            }
            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);
            if (unaff_s7[0x10] != 7) {
              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);
LAB_0004d214:
              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);
              if (unaff_s8 != uVar7) {
                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
                uVar5 = 0x690;
                pdVar23 = (dword *)(piStack_3218 + 0x980);
                piVar16 = (int *)(pdStack_321c + 0x6b6);
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                piStack_323c = piVar14;
                puStack_3238 = puVar13;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(puVar13);
                goto LAB_0004d29c;
              }
              goto LAB_0004d0d4;
            }
            uVar7 = unaff_s7[9];
            uVar5 = unaff_s7[1];
            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=
                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {
              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);
              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;
              unaff_s7[2] = unaff_s7[2] << 1;
              uStack_3214 = unaff_s8;
              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);
              if (iVar1 == 0) {
                uVar7 = 0;
                goto LAB_0004d214;
              }
              uVar7 = unaff_s7[9];
              uVar15 = uStack_3214;
            }
            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);
            uVar7 = unaff_s8 + unaff_s7[9];
            unaff_s7[9] = uVar7;
            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);
            unaff_s7[8] = (uint)puVar21;
            if ((int)puVar21 < 0) goto LAB_0004d0d0;
            if ((puVar21 != (undefined1 *)0x0) ||
               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))
            goto LAB_0004d1b4;
          } while( true );
        }
        (**(code **)(pcStack_3230 + -0x7754))(piVar12);
        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
        uVar5 = 0x680;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar26 = *(code **)(pcStack_3230 + -0x7990);
        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);
        iStack_3248 = 400;
      }
      else {
        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);
        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;
        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);
LAB_0004d3d0:
        puVar8 = (undefined4 *)(*pcVar26)();
        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
        uVar5 = 0x675;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar26 = *(code **)(pcStack_3230 + -0x7990);
        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);
        iStack_3248 = 0x1b3;
      }
      iStack_3240 = iStack_3240 + 0xe78;
      pdVar23 = (dword *)(piStack_3218 + 0x980);
      piVar16 = (int *)(pdStack_321c + 0x6b6);
      piVar11 = (int *)0x0;
      piStack_323c = piVar14;
      puStack_3238 = puVar13;
      (*pcVar26)(uStack_3220);
      (**(code **)(pcStack_3230 + -0x783c))(puVar13);
    }
LAB_0004d2c8:
    iVar1 = iStack_316c;
    pcVar26 = pcStack_3230;
    if (iStack_316c == *piStack_3224) {
      return piVar11;
    }
  }
  pcVar26 = *(code **)(pcVar26 + -0x784c);
  pcVar24 = InjectImageBlob;
  (*pcVar26)();
  iVar6 = iStack_3248;
  piVar2 = *(int **)(pcVar26 + 0x35bc28);
  iStack_3284 = *piVar2;
  puStack_3280 = puVar13;
  piStack_327c = piVar11;
  piStack_3278 = piVar14;
  piStack_3274 = piVar12;
  pdStack_3270 = pdVar18;
  piStack_326c = param_3;
  piStack_3268 = unaff_s6;
  puStack_3264 = unaff_s7;
  uStack_3260 = unaff_s8;
  pcStack_325c = pcVar24;
  if (iVar1 == 0) {
LAB_0004ddfc:
    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;
    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);
    uVar17 = (undefined1)iVar6;
  }
  else {
    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {
LAB_0004ddd8:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddfc;
    }
    if (piVar16 == (int *)0x0) {
LAB_0004ddb4:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddd8;
    }
    if (piVar16[0xcdb] != -0x54535255) {
LAB_0004dd4c:
      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,
                 iVar20);
LAB_0004dd70:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,
                 iVar20 + 0x2474);
LAB_0004dd90:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddb4;
    }
    if (piVar16[0xcd4] != 0) {
      (**(code **)(pcVar26 + 0x35bbd8))
                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,
                 0xac4);
    }
    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;
    iVar20 = *(int *)(pcVar26 + 0x35b2d8);
    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;
    if (iVar6 == 0) {
LAB_0004dd2c:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,
                 iVar20 + 0x2474);
      goto LAB_0004dd4c;
    }
    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);
    if ((iVar20 == -1) ||
       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),
       iVar20 == 0)) {
      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);
      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();
      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);
      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);
      uVar17 = (undefined1)iVar1;
      piVar12 = (int *)0x0;
      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
    }
    else {
      uVar17 = 0;
      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);
      if (iVar9 == 0) {
        piVar12 = (int *)0x0;
        (**(code **)(pcVar26 + 0x35bd94))(iVar20);
        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
      }
      else {
        (**(code **)(pcVar26 + 0x35b774))
                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);
        (**(code **)(pcVar26 + 0x35ba08))(iVar9);
        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);
        pcVar24 = *(code **)(pcVar26 + 0x35bb94);
        *(undefined4 *)(iVar9 + 0x3348) = uVar3;
        uVar3 = (*pcVar24)(iVar1);
        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);
        iVar1 = iVar9;
        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);
        uVar17 = (undefined1)iVar1;
        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);
        (**(code **)(pcVar26 + 0x35b944))(iVar9);
        (**(code **)(pcVar26 + 0x35bd94))(iVar20);
        if (piVar12 == (int *)0x0) {
          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
        }
        else {
          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);
          if (iVar1 == -1) {
            piVar12 = (int *)0x0;
            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();
            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);
            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar26 + 0x35b918))
                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);
            uVar17 = (undefined1)iVar1;
            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
          }
          else {
            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);
            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))
               && (uStack_42ec - 1 < 0x13fff)) {
              uStack_4330 = uStack_42ec;
            }
            else {
              uStack_4330 = 0x14000;
            }
            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);
            if (iVar9 != 0) {
              while( true ) {
                iVar20 = iVar9;
                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);
                uVar17 = (undefined1)iVar20;
                if ((int)uVar5 < 1) {
                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();
                  if (*piVar11 != 4) {
                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);
                    if (iVar1 == -1) {
                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);
                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
                      (**(code **)(pcVar26 + 0x35b918))
                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);
                      uVar17 = (undefined1)iVar1;
                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
                    }
                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);
                    goto LAB_0004d764;
                  }
                  uVar5 = 0;
                }
                puVar22 = (uint *)piVar16[0xcd2];
                iVar20 = *(int *)(pcVar26 + 0x35b2d8);
                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;
                if (puVar22[0x10] == 0) break;
                if (puVar22[0x10] == 7) {
                  uVar7 = puVar22[9];
                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&
                     (uVar7 + uVar5 < puVar22[1])) {
LAB_0004da64:
                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);
                    uVar7 = uVar5 + puVar22[9];
                    puVar22[9] = uVar7;
                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];
                    puVar22[8] = uVar5;
                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {
                      piVar12 = (int *)0x1;
                    }
                    else {
                      *puVar22 = uVar7;
                      piVar12 = (int *)0x1;
                    }
                  }
                  else {
                    uVar7 = puVar22[2];
                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);
                    puVar22[2] = uVar7 << 1;
                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);
                    if (iVar20 != 0) {
                      uVar7 = puVar22[9];
                      goto LAB_0004da64;
                    }
                    piVar12 = (int *)(uint)(uVar5 == 0);
                  }
                }
                else {
                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);
                  piVar12 = (int *)(uint)(uVar5 == uVar7);
                }
              }
              iVar20 = iVar20 + 0x25f0;
              (**(code **)(pcVar26 + 0x35c000))
                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8
                         ,0x639,iVar20);
LAB_0004dd0c:
              iVar20 = iVar20 + 0x25f0;
              (**(code **)(pcVar26 + 0x35c000))
                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8
                         ,0x638,iVar20);
              goto LAB_0004dd2c;
            }
            piVar12 = (int *)0x0;
            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
            (**(code **)(pcVar26 + 0x35bb54))(iVar1);
            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar26 + 0x35b918))
                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);
            uVar17 = (undefined1)iVar1;
          }
        }
      }
    }
LAB_0004d764:
    iVar1 = iStack_3284;
    if (iStack_3284 == *piVar2) {
      return piVar12;
    }
  }
  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);
  (*pcVar26)();
  if (iVar1 == 0) {
LAB_0004e038:
    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;
    (**(code **)(pcVar26 + 0x35b7dc))
              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,
               iVar6);
  }
  else {
    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {
LAB_0004e014:
      (**(code **)(pcVar26 + 0x35b7dc))
                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5
                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);
      goto LAB_0004e038;
    }
    puVar22 = *(uint **)(iVar1 + 0x3348);
    iVar6 = *(int *)(pcVar26 + 0x35aab4);
    if (puVar22 == (uint *)0x0) {
      (**(code **)(pcVar26 + 0x35b7dc))
                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,
                 iVar6 + 0x21c8);
      goto LAB_0004e014;
    }
    uVar5 = puVar22[0x10];
    if (uVar5 != 0) {
      if (uVar5 - 1 < 3) {
        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);
        if (iVar1 != -1) {
          return (int *)0x1;
        }
        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);
        if (iVar1 == 0) {
          return (int *)0x0;
        }
        if (puVar22[0xe] == 0) {
          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();
          if (*puVar10 != 0) {
            puVar22[7] = *puVar10;
          }
        }
        puVar22[0xe] = 1;
        return (int *)0x0;
      }
      if (uVar5 != 7) {
        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();
        return piVar12;
      }
      uVar7 = puVar22[9];
      uVar5 = uVar7 + 1;
      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {
        if (uVar5 < puVar22[1]) goto LAB_0004dee0;
        uVar7 = puVar22[2];
        uVar5 = 0;
      }
      else {
        uVar7 = puVar22[2];
      }
      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);
      puVar22[2] = uVar7 << 1;
      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);
      if (iVar1 == 0) {
        return (int *)0x0;
      }
      uVar7 = puVar22[9];
LAB_0004dee0:
      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;
      uVar5 = puVar22[9];
      uVar7 = uVar5 + 1;
      puVar22[9] = uVar7;
      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];
      puVar22[8] = uVar5;
      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {
        *puVar22 = uVar7;
        return (int *)0x1;
      }
      return (int *)0x1;
    }
  }
  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);
  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;
  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;
  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);
  piVar12 = *(int **)(pcVar24 + 0x35b1b4);
  iVar6 = *piVar12;
  if (iVar20 != 0) {
    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {
      puVar22 = *(uint **)(iVar20 + 0x3348);
      if (*(int *)(iVar20 + 0x25c) == 1) {
        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),
                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));
        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;
        if (puVar22[0x10] == 0) goto LAB_0004e2a8;
        if (puVar22[0x10] != 7) {
          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();
          goto LAB_0004e1b8;
        }
        uVar5 = puVar22[9];
        uVar7 = uVar5 + 4;
        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&
           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {
          uVar7 = puVar22[0x3c];
        }
        else {
          uVar5 = puVar22[2];
          pcVar26 = *(code **)(pcVar24 + 0x35b384);
          puVar22[2] = uVar5 << 1;
          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);
          if (iVar20 == 0) goto LAB_0004e2a0;
          uVar5 = puVar22[9];
          uVar7 = puVar22[0x3c];
        }
LAB_0004e15c:
        *(int *)(uVar7 + uVar5) = iVar1;
        uVar5 = puVar22[9];
        uVar7 = uVar5 + 4;
        puVar22[9] = uVar7;
        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];
        puVar22[8] = uVar5;
        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {
          piVar2 = (int *)&DAT_00000004;
        }
        else {
          *puVar22 = uVar7;
          piVar2 = (int *)&DAT_00000004;
        }
LAB_0004e1b8:
        if (iVar6 == *piVar12) {
          return piVar2;
        }
        goto LAB_0004e338;
      }
      if (puVar22 != (uint *)0x0) {
        if (puVar22[0x10] != 0) {
          if (puVar22[0x10] == 7) {
            uVar5 = puVar22[9];
            uVar7 = uVar5 + 4;
            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {
              if (puVar22[1] <= uVar7) {
                uVar5 = puVar22[2];
                uVar7 = 0;
                goto LAB_0004e128;
              }
            }
            else {
              uVar5 = puVar22[2];
LAB_0004e128:
              pcVar26 = *(code **)(pcVar24 + 0x35b384);
              puVar22[2] = uVar5 << 1;
              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);
              if (iVar20 == 0) {
LAB_0004e2a0:
                piVar2 = (int *)0x0;
                goto LAB_0004e1b8;
              }
              uVar5 = puVar22[9];
            }
            uVar7 = puVar22[0x3c];
            goto LAB_0004e15c;
          }
          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();
          goto LAB_0004e1b8;
        }
LAB_0004e2a8:
        (**(code **)(pcVar24 + 0x35b58c))
                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639
                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);
      }
LAB_0004e2cc:
      (**(code **)(pcVar24 + 0x35b58c))
                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,
                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);
    }
    (**(code **)(pcVar24 + 0x35b58c))
              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,
               *(int *)(pcVar24 + 0x35a864) + 0x21b8);
  }
  (**(code **)(pcVar24 + 0x35b58c))
            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,
             *(int *)(pcVar24 + 0x35a864) + 0x21b8);
LAB_0004e338:
  pcVar26 = *(code **)(pcVar24 + 0x35afe8);
  (*pcVar26)();
  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();
  return piVar12;
LAB_0004d1b4:
  *unaff_s7 = uVar7;
  goto LAB_0004d0d0;
}


lui gp,0x36
addiu gp,gp,0x4d9c
addu gp,gp,t9
addiu sp,sp,-0x1060
sw s4,0x104c(sp)
lw s4,-0x7680(gp)
sw gp,0x28(sp)
sw ra,0x105c(sp)
sw s7,0x1058(sp)
sw s6,0x1054(sp)
sw s5,0x1050(sp)
sw s3,0x1048(sp)
sw s2,0x1044(sp)
sw s1,0x1040(sp)
sw s0,0x103c(sp)
lw v0,0x0(s4)
sw v0,0x1034(sp)
beq a0,zero,0x0004c02c
_lui v0,0xabac
lw v1,0x3214(a0)
ori v0,v0,0xadab
bne v1,v0,0x0004bfdc
_or s2,a0,zero
lw v0,0x3210(a0)
or s1,a1,zero
or s5,a2,zero
bne v0,zero,0x0004bdf0
_or s3,a3,zero
beq s1,zero,0x0004bfb8
_lui v0,0xabac
lw v1,0x336c(s1)
ori v0,v0,0xadab
bne v1,v0,0x0004c00c
_lw a3,-0x7fd0(gp)
beq s3,zero,0x0004c050
_lw t9,-0x7714(gp)
or a0,s2,zero
sw zero,0x0(s5)
jalr t9
_addiu s6,s1,0x2340
li a1,0x1
lw gp,0x28(sp)
or s0,v0,zero
or a2,s3,zero
sw zero,0xc(v0)
lw t9,-0x72d8(gp)
jalr t9
_or a0,v0,zero
lb v0,0x210(s0)
bne v0,zero,0x0004be2c
_lw gp,0x28(sp)
lw t9,-0x74a4(gp)
or a1,s3,zero
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
beq v0,zero,0x0004bf58
_or s7,v0,zero
lw t9,-0x7074(gp)
li a2,0x1000
addiu a0,s0,0x210
jalr t9
_or a1,s6,zero
lw gp,0x28(sp)
lw t9,-0x713c(gp)
jalr t9
_or a0,s7,zero
beq v0,zero,0x0004bccc
_lw gp,0x28(sp)
lw t9,-0x73a4(gp)
li a1,0x1
lui a0,0x1
jalr t9
_sw zero,0x20c(s0)
lw gp,0x28(sp)
or s2,v0,zero
beq v0,zero,0x0004bef0
_sw v0,0x208(s0)
lw t9,-0x7228(gp)
jalr t9
_or a0,s1,zero
li v1,0x1
lw gp,0x28(sp)
or a1,s1,zero
lw v0,0x3348(s1)
or a0,s0,zero
or a2,s3,zero
lw t9,-0x793c(gp)
sw v1,0x30(v0)
jalr t9
_sb zero,0x340(s1)
lw v1,0x3348(s1)
or s1,v0,zero
lw gp,0x28(sp)
or a0,v1,zero
lw v0,0x0(v1)
lw t9,-0x7144(gp)
jalr t9
_sw v0,0x0(s5)
lw gp,0x28(sp)
beq v0,zero,0x0004bf40
_or s2,v0,zero
bne s1,zero,0x0004be48
_li a2,0x1
lw t9,-0x78f0(gp)
jalr t9
_or a0,v0,zero
lw gp,0x28(sp)
b 0x0004bda4
_or s2,v0,zero
lw t9,-0x7a6c(gp)
addiu s7,sp,0x34
jalr t9
_or a0,s7,zero
li v1,-0x1
beq v0,v1,0x0004be68
_lw gp,0x28(sp)
lw a1,-0x7fd0(gp)
or a0,v0,zero
lw t9,-0x70d8(gp)
jalr t9
_addiu a1,a1,0xe98
lw gp,0x28(sp)
beq v0,zero,0x0004bd90
_sw v0,0x204(s0)
lw a2,-0x7fd0(gp)
addiu a0,s1,0x340
lw t9,-0x7b34(gp)
li a1,0x1000
or a3,s6,zero
sw s7,0x10(sp)
jalr t9
_addiu a2,a2,0x1d10
or a1,s1,zero
lw gp,0x28(sp)
or a2,s3,zero
lw t9,-0x793c(gp)
jalr t9
_or a0,s0,zero
or a0,s1,zero
lw gp,0x28(sp)
lw t9,-0x7228(gp)
jalr t9
_or s1,v0,zero
lw gp,0x28(sp)
lw t9,-0x7514(gp)
jalr t9
_lw a0,0x204(s0)
beq s1,zero,0x0004bd90
_lw gp,0x28(sp)
lw t9,-0x7b8c(gp)
li a1,-0x1
or a3,s3,zero
or a2,s5,zero
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
b 0x0004bd94
_or s2,v0,zero
or s2,zero,zero
lw t9,-0x7914(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw t9,-0x72c8(gp)
jalr t9
_or a0,s0,zero
lw gp,0x28(sp)
lw a0,0x1034(sp)
or v0,s2,zero
lw v1,0x0(s4)
bne a0,v1,0x0004c000
_lw ra,0x105c(sp)
lw s7,0x1058(sp)
lw s6,0x1054(sp)
lw s5,0x1050(sp)
lw s4,0x104c(sp)
lw s3,0x1048(sp)
lw s2,0x1044(sp)
lw s1,0x1040(sp)
lw s0,0x103c(sp)
jr ra
_addiu sp,sp,0x1060
addiu v0,a0,0x2210
lw a2,-0x7fd0(gp)
lw a1,-0x7fd0(gp)
li a3,0x7f5
lw t9,-0x76d0(gp)
ori a0,zero,0x8000
sw v0,0x14(sp)
addiu a2,a2,0x2514
lw v0,-0x7fcc(gp)
addiu a1,a1,0x1ad8
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x0004bb84
_lw gp,0x28(sp)
lw t9,-0x7074(gp)
li a2,0x1000
addiu a1,s0,0x210
jalr t9
_or a0,s6,zero
b 0x0004bbe0
_lw gp,0x28(sp)
lw a1,0x0(s5)
lw t9,-0x7490(gp)
or a0,v0,zero
jalr t9
_addiu a1,a1,0x1
lw gp,0x28(sp)
b 0x0004bda4
_or s2,v0,zero
lw t9,-0x6f00(gp)
jalr t9
_addiu s2,s2,0x2210
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
li a3,0x835
lw gp,0x28(sp)
or s1,v0,zero
sw v0,0x20(sp)
or a0,s3,zero
sw s2,0x1c(sp)
or s2,zero,zero
lw v0,-0x7fd0(gp)
lw a2,-0x7fd0(gp)
lw a1,-0x7fd0(gp)
addiu v0,v0,0xe78
lw t9,-0x7990(gp)
addiu a2,a2,0x2514
sw v0,0x18(sp)
addiu a1,a1,0x1ad8
lw v0,-0x7fd0(gp)
addiu v0,v0,0x1ba4
sw v0,0x14(sp)
li v0,0x1b3
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s1,zero
b 0x0004bda4
_lw gp,0x28(sp)
lw v0,-0x7fd0(gp)
addiu s1,s1,0x340
lw a2,-0x7fd0(gp)
li a3,0x814
lw a1,-0x7fd0(gp)
or a0,s3,zero
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x2514
sw s1,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x1ad8
lw v0,-0x7fd0(gp)
addiu v0,v0,0x16f8
sw v0,0x14(sp)
li v0,0x190
jalr t9
_sw v0,0x10(sp)
b 0x0004bda4
_lw gp,0x28(sp)
lw t9,-0x78f0(gp)
jalr t9
_lw a0,0x208(s0)
lw gp,0x28(sp)
b 0x0004bda4
_sw v0,0x208(s0)
lw v0,-0x7fd0(gp)
li a3,0x804
lw a2,-0x7fd0(gp)
or a0,s3,zero
lw a1,-0x7fd0(gp)
or s2,zero,zero
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x2514
sw s6,0x1c(sp)
sw v0,0x18(sp)
addiu a1,a1,0x1ad8
lw v0,-0x7fd0(gp)
addiu v0,v0,0x1cec
sw v0,0x14(sp)
li v0,0x1a4
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x72c8(gp)
jalr t9
_or a0,s0,zero
b 0x0004bdb4
_lw gp,0x28(sp)
lw a3,-0x7fd0(gp)
li a2,0x7f7
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x2520
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0xdd0
lw a3,-0x7fd0(gp)
li a2,0x7f3
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x2520
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0xda0
lw t9,-0x784c(gp)
jalr t9
_nop
li a2,0x7f8
lw a1,-0x7fd0(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x2520
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,-0x3784
lw a3,-0x7fd0(gp)
li a2,0x7f2
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x2520
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0xd78
li a2,0x7f9
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x2520
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0x1cac
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0004c948) */\n\nint * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}\n\n" comment (function_definition "int * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" primitive_type (pointer_declarator "* ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" * (function_declarator "ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" identifier (parameter_list "(int *param_1,int *param_2,int *param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined1 uVar17;" type_identifier identifier ;) (declaration "dword *pdVar18;" type_identifier (pointer_declarator "*pdVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "dword *pdVar23;" type_identifier (pointer_declarator "*pdVar23" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "uint unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "ulonglong uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "uint uStack_4330;" type_identifier identifier ;) (declaration "undefined1 auStack_4328 [56];" type_identifier (array_declarator "auStack_4328 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_42f0;" primitive_type identifier ;) (declaration "uint uStack_42ec;" type_identifier identifier ;) (declaration "undefined1 auStack_4284 [4096];" type_identifier (array_declarator "auStack_4284 [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_3284;" primitive_type identifier ;) (declaration "undefined *puStack_3280;" type_identifier (pointer_declarator "*puStack_3280" * identifier) ;) (declaration "int *piStack_327c;" primitive_type (pointer_declarator "*piStack_327c" * identifier) ;) (declaration "int *piStack_3278;" primitive_type (pointer_declarator "*piStack_3278" * identifier) ;) (declaration "int *piStack_3274;" primitive_type (pointer_declarator "*piStack_3274" * identifier) ;) (declaration "dword *pdStack_3270;" type_identifier (pointer_declarator "*pdStack_3270" * identifier) ;) (declaration "int *piStack_326c;" primitive_type (pointer_declarator "*piStack_326c" * identifier) ;) (declaration "int *piStack_3268;" primitive_type (pointer_declarator "*piStack_3268" * identifier) ;) (declaration "uint *puStack_3264;" type_identifier (pointer_declarator "*puStack_3264" * identifier) ;) (declaration "uint uStack_3260;" type_identifier identifier ;) (declaration "code *pcStack_325c;" type_identifier (pointer_declarator "*pcStack_325c" * identifier) ;) (declaration "int iStack_3248;" primitive_type identifier ;) (declaration "int *piStack_3244;" primitive_type (pointer_declarator "*piStack_3244" * identifier) ;) (declaration "int iStack_3240;" primitive_type identifier ;) (declaration "int *piStack_323c;" primitive_type (pointer_declarator "*piStack_323c" * identifier) ;) (declaration "undefined *puStack_3238;" type_identifier (pointer_declarator "*puStack_3238" * identifier) ;) (declaration "code *pcStack_3230;" type_identifier (pointer_declarator "*pcStack_3230" * identifier) ;) (declaration "int *piStack_3224;" primitive_type (pointer_declarator "*piStack_3224" * identifier) ;) (declaration "undefined4 uStack_3220;" type_identifier identifier ;) (declaration "dword *pdStack_321c;" type_identifier (pointer_declarator "*pdStack_321c" * identifier) ;) (declaration "int *piStack_3218;" primitive_type (pointer_declarator "*piStack_3218" * identifier) ;) (declaration "uint uStack_3214;" type_identifier identifier ;) (declaration "undefined1 auStack_3210 [56];" type_identifier (array_declarator "auStack_3210 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_31d8;" primitive_type identifier ;) (declaration "dword *pdStack_31d4;" type_identifier (pointer_declarator "*pdStack_31d4" * identifier) ;) (declaration "int iStack_316c;" primitive_type identifier ;) (declaration "undefined *puStack_3168;" type_identifier (pointer_declarator "*puStack_3168" * identifier) ;) (declaration "int *piStack_3164;" primitive_type (pointer_declarator "*piStack_3164" * identifier) ;) (declaration "int *piStack_3160;" primitive_type (pointer_declarator "*piStack_3160" * identifier) ;) (declaration "int *piStack_315c;" primitive_type (pointer_declarator "*piStack_315c" * identifier) ;) (declaration "dword *pdStack_3158;" type_identifier (pointer_declarator "*pdStack_3158" * identifier) ;) (declaration "int *piStack_3154;" primitive_type (pointer_declarator "*piStack_3154" * identifier) ;) (declaration "int *piStack_3150;" primitive_type (pointer_declarator "*piStack_3150" * identifier) ;) (declaration "uint *puStack_314c;" type_identifier (pointer_declarator "*puStack_314c" * identifier) ;) (declaration "undefined1 auStack_308c [4096];" type_identifier (array_declarator "auStack_308c [4096]" identifier [ number_literal ]) ;) (declaration "int aiStack_208c [1024];" primitive_type (array_declarator "aiStack_208c [1024]" identifier [ number_literal ]) ;) (declaration "dword dStack_108c;" type_identifier identifier ;) (declaration "undefined *puStack_1084;" type_identifier (pointer_declarator "*puStack_1084" * identifier) ;) (declaration "int *piStack_1080;" primitive_type (pointer_declarator "*piStack_1080" * identifier) ;) (declaration "int *piStack_107c;" primitive_type (pointer_declarator "*piStack_107c" * identifier) ;) (declaration "int *piStack_1078;" primitive_type (pointer_declarator "*piStack_1078" * identifier) ;) (declaration "undefined *puStack_1074;" type_identifier (pointer_declarator "*puStack_1074" * identifier) ;) (declaration "int *piStack_1070;" primitive_type (pointer_declarator "*piStack_1070" * identifier) ;) (declaration "int *piStack_106c;" primitive_type (pointer_declarator "*piStack_106c" * identifier) ;) (declaration "uint *puStack_1068;" type_identifier (pointer_declarator "*puStack_1068" * identifier) ;) (declaration "code *pcStack_1064;" type_identifier (pointer_declarator "*pcStack_1064" * identifier) ;) (declaration "uint *local_1050;" type_identifier (pointer_declarator "*local_1050" * identifier) ;) (declaration "int *local_104c;" primitive_type (pointer_declarator "*local_104c" * identifier) ;) (declaration "undefined *local_1048;" type_identifier (pointer_declarator "*local_1048" * identifier) ;) (declaration "int *local_1044;" primitive_type (pointer_declarator "*local_1044" * identifier) ;) (declaration "int *local_1040;" primitive_type (pointer_declarator "*local_1040" * identifier) ;) (declaration "uint auStack_102c [1024];" type_identifier (array_declarator "auStack_102c [1024]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }" { (labeled_statement "LAB_0004c02c:\n    param_3 = unaff_s5;" statement_identifier : (expression_statement "param_3 = unaff_s5;" (assignment_expression "param_3 = unaff_s5" identifier = identifier) ;)) (expression_statement "param_4 = unaff_s3;" (assignment_expression "param_4 = unaff_s3" identifier = identifier) ;) (expression_statement "puVar19 = PTR_LAB_003a88e0 + 0x2520;" (assignment_expression "puVar19 = PTR_LAB_003a88e0 + 0x2520" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" else (compound_statement "{\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" { (if_statement "if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" if (parenthesized_expression "(param_1[0xc85] != -0x54535255)" ( (binary_expression "param_1[0xc85] != -0x54535255" (subscript_expression "param_1[0xc85]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" { (labeled_statement "LAB_0004bfdc:\n      param_2 = unaff_s1;" statement_identifier : (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" identifier = identifier) ;)) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x2520)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "piVar12 + 0x948" identifier + number_literal) ))) ;)) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" identifier = identifier) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0004c02c;" goto statement_identifier ;) })) (if_statement "if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" if (parenthesized_expression "(param_1[0xc84] != 0)" ( (binary_expression "param_1[0xc84] != 0" (subscript_expression "param_1[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" { (expression_statement "local_104c = param_1 + 0x884;" (assignment_expression "local_104c = param_1 + 0x884" identifier = (binary_expression "param_1 + 0x884" identifier + number_literal)) ;) (expression_statement "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "puVar13 = PTR_CloneImageInfo_003a919c;" (assignment_expression "puVar13 = PTR_CloneImageInfo_003a919c" identifier = identifier) ;) (expression_statement "piVar12 = (int *)PTR_LAB_003a88e0;" (assignment_expression "piVar12 = (int *)PTR_LAB_003a88e0" identifier = (cast_expression "(int *)PTR_LAB_003a88e0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" identifier = identifier) ;) (expression_statement "unaff_s3 = param_4;" (assignment_expression "unaff_s3 = param_4" identifier = identifier) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (if_statement "if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004bfdc;" goto statement_identifier ;) })) (if_statement "if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;" if (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" ( (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004c00c;" goto statement_identifier ;)) (expression_statement "puVar19 = PTR_LAB_003a88e0;" (assignment_expression "puVar19 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (if_statement "if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" { (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "unaff_s6 = param_2 + 0x8d0;" (assignment_expression "unaff_s6 = param_2 + 0x8d0" identifier = (binary_expression "param_2 + 0x8d0" identifier + number_literal)) ;) (expression_statement "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);" (assignment_expression "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1)" identifier = (cast_expression "(undefined *)(*(code *)puVar13)(param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar13)(param_1)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "*(undefined4 *)(unaff_s0 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s0 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0xc)" ( (binary_expression "unaff_s0 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);" (call_expression "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4)" (parenthesized_expression "(*(code *)PTR_SetImageInfo_003a95d8)" ( (pointer_expression "*(code *)PTR_SetImageInfo_003a95d8" * (cast_expression "(code *)PTR_SetImageInfo_003a95d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,1,param_4)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" if (parenthesized_expression "(unaff_s0[0x210] != '\0')" ( (binary_expression "unaff_s0[0x210] != '\0'" (subscript_expression "unaff_s0[0x210]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,unaff_s0 + 0x210,0x1000)" ( identifier , (binary_expression "unaff_s0 + 0x210" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);" (assignment_expression "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" identifier = (cast_expression "(uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" (parenthesized_expression "(*(code *)PTR_GetMagickInfo_003a940c)" ( (pointer_expression "*(code *)PTR_GetMagickInfo_003a940c" * (cast_expression "(code *)PTR_GetMagickInfo_003a940c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,param_4)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" if (parenthesized_expression "(unaff_s7 == (uint *)0x0)" ( (binary_expression "unaff_s7 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }" { (expression_statement "piVar12 = (int *)0x804;" (assignment_expression "piVar12 = (int *)0x804" identifier = (cast_expression "(int *)0x804" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cec)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cec" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)0x1a4;" (assignment_expression "local_1050 = (uint *)0x1a4" identifier = (cast_expression "(uint *)0x1a4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = unaff_s6;" (assignment_expression "local_1044 = unaff_s6" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) }) (else_clause "else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" else (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0 + 0x210,unaff_s6,0x1000)" ( (binary_expression "unaff_s0 + 0x210" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)" ( (pointer_expression "*(code *)PTR_GetMagickBlobSupport_003a9774" * (cast_expression "(code *)PTR_GetMagickBlobSupport_003a9774" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (expression_statement "puVar13 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar13 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }" { (expression_statement "unaff_s7 = auStack_102c;" (assignment_expression "unaff_s7 = auStack_102c" identifier = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }" { (expression_statement "piVar11 = param_1 + 0x884;" (assignment_expression "piVar11 = param_1 + 0x884" identifier = (binary_expression "param_1 + 0x884" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" identifier = (cast_expression "(int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "piVar12 = (int *)0x835;" (assignment_expression "piVar12 = (int *)0x835" identifier = (cast_expression "(int *)0x835" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0xe78;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0xe78" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ba4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ba4" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)&DAT_000001b3;" (assignment_expression "local_1050 = (uint *)&DAT_000001b3" identifier = (cast_expression "(uint *)&DAT_000001b3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001b3" & identifier))) ;) (expression_statement "local_1044 = piVar11;" (assignment_expression "local_1044 = piVar11" identifier = identifier) ;) (expression_statement "local_1040 = piVar2;" (assignment_expression "local_1040 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(piVar2);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(piVar2)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" else (compound_statement "{\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" { (expression_statement "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);" (assignment_expression "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" identifier = (call_expression "(*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" (parenthesized_expression "(*(code *)PTR_fdopen_003a97d8)" ( (pointer_expression "*(code *)PTR_fdopen_003a97d8" * (cast_expression "(code *)PTR_fdopen_003a97d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,PTR_LAB_003a88e0 + 0xe98)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0xe98" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_s0 + 0x204) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x204) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x204)" * (cast_expression "(int *)(unaff_s0 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x204)" ( (binary_expression "unaff_s0 + 0x204" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar2 = param_2;" (assignment_expression "piVar2 = param_2" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }" { (labeled_statement "LAB_0004bd90:\n              param_1 = (int *)0x0;" statement_identifier : (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" else (compound_statement "{\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" { (expression_statement "piVar12 = unaff_s6;" (assignment_expression "piVar12 = unaff_s6" identifier = identifier) ;) (expression_statement "local_1050 = unaff_s7;" (assignment_expression "local_1050 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1d10" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)PTR_WriteImage_003a8f74)" ( (pointer_expression "*(code *)PTR_WriteImage_003a8f74" * (cast_expression "(code *)PTR_WriteImage_003a8f74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,param_2,param_4)" ( identifier , identifier , identifier ))))) ;) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));" (call_expression "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204))" (parenthesized_expression "(*(code *)PTR_fclose_003a939c)" ( (pointer_expression "*(code *)PTR_fclose_003a939c" * (cast_expression "(code *)PTR_fclose_003a939c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(unaff_s0 + 0x204))" ( (pointer_expression "*(undefined4 *)(unaff_s0 + 0x204)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x204)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x204)" ( (binary_expression "unaff_s0 + 0x204" identifier + number_literal) )))) ))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0004bd90;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004bd90;" goto statement_identifier ;)) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" identifier = identifier) ;) (expression_statement "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);" (assignment_expression "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_FileToBlob_003a8d24)" ( (pointer_expression "*(code *)PTR_FileToBlob_003a8d24" * (cast_expression "(code *)PTR_FileToBlob_003a8d24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,0xffffffff,param_3,param_4)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);" (call_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)" ( (pointer_expression "*(code *)PTR_RelinquishUniqueFileResource_003a8f9c" * (cast_expression "(code *)PTR_RelinquishUniqueFileResource_003a8f9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }) (else_clause "else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" else (compound_statement "{\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" { (expression_statement "*(undefined4 *)(unaff_s0 + 0x20c) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x20c) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x20c)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x20c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x20c)" ( (binary_expression "unaff_s0 + 0x20c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = (*(code *)puVar13)(0x10000,1);" (assignment_expression "iVar1 = (*(code *)puVar13)(0x10000,1)" identifier = (call_expression "(*(code *)puVar13)(0x10000,1)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10000,1)" ( number_literal , number_literal )))) ;) (expression_statement "*(int *)(unaff_s0 + 0x208) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x208) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x208)" * (cast_expression "(int *)(unaff_s0 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }" { (expression_statement "piVar2 = param_2 + 0xd0;" (assignment_expression "piVar2 = param_2 + 0xd0" identifier = (binary_expression "param_2 + 0xd0" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)0x814;" (assignment_expression "piVar12 = (int *)0x814" identifier = (cast_expression "(int *)0x814" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x16f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x16f8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)0x190;" (assignment_expression "local_1050 = (uint *)0x190" identifier = (cast_expression "(uint *)0x190" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = piVar2;" (assignment_expression "local_1044 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" else (compound_statement "{\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "puVar13 = PTR_WriteImage_003a8f74;" (assignment_expression "puVar13 = PTR_WriteImage_003a8f74" identifier = identifier) ;) (expression_statement "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1;" (assignment_expression "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1" (pointer_expression "*(undefined4 *)(param_2[0xcd2] + 0x30)" * (cast_expression "(undefined4 *)(param_2[0xcd2] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0xcd2] + 0x30)" ( (binary_expression "param_2[0xcd2] + 0x30" (subscript_expression "param_2[0xcd2]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_2 + 0xd0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xd0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xd0)" * (cast_expression "(undefined1 *)(param_2 + 0xd0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" identifier = (cast_expression "(int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar13)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,param_2,param_4)" ( identifier , identifier , identifier ))))) ;) (expression_statement "puVar13 = PTR_DetachBlob_003a976c;" (assignment_expression "puVar13 = PTR_DetachBlob_003a976c" identifier = identifier) ;) (expression_statement "piVar11 = (int *)param_2[0xcd2];" (assignment_expression "piVar11 = (int *)param_2[0xcd2]" identifier = (cast_expression "(int *)param_2[0xcd2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "*param_3 = *piVar11;" (assignment_expression "*param_3 = *piVar11" (pointer_expression "*param_3" * identifier) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "iVar1 = (*(code *)puVar13)(piVar11);" (assignment_expression "iVar1 = (*(code *)puVar13)(piVar11)" identifier = (call_expression "(*(code *)puVar13)(piVar11)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }" { (expression_statement "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));" (assignment_expression "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" identifier = (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(unaff_s0 + 0x208))" ( (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(unaff_s0 + 0x208) = uVar3;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x208) = uVar3" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" else (if_statement "if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }" { (expression_statement "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" identifier = (cast_expression "(int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier ))))) ;) }) (else_clause "else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" else (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" { (expression_statement "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" identifier = (cast_expression "(int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" (parenthesized_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)" ( (pointer_expression "*(code *)PTR_ResizeQuantumMemory_003a9420" * (cast_expression "(code *)PTR_ResizeQuantumMemory_003a9420" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,*param_3 + 1,1)" ( identifier , (binary_expression "*param_3 + 1" (pointer_expression "*param_3" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "param_2 = piVar2;" (assignment_expression "param_2 = piVar2" identifier = identifier) ;) }))) (if_statement "if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return param_1;\n      }" { (return_statement "return param_1;" return identifier ;) })) (goto_statement "goto LAB_0004c000;" goto statement_identifier ;) })) }))) (expression_statement "piVar2 = (int *)&DAT_000007f9;" (assignment_expression "piVar2 = (int *)&DAT_000007f9" identifier = (cast_expression "(int *)&DAT_000007f9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000007f9" & identifier))) ;) (expression_statement "piVar11 = (int *)(puVar19 + 0x2520);" (assignment_expression "piVar11 = (int *)(puVar19 + 0x2520)" identifier = (cast_expression "(int *)(puVar19 + 0x2520)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x2520)" ( (binary_expression "puVar19 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "puVar13 = PTR_LAB_003a88e0 + 0x1ad8;" (assignment_expression "puVar13 = PTR_LAB_003a88e0 + 0x1ad8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal)) ;) (expression_statement "pcVar26 = ImagesToBlob;" (assignment_expression "pcVar26 = ImagesToBlob" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cac)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) )))) ;) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1074 = puVar4;" (assignment_expression "puStack_1074 = puVar4" identifier = identifier) ;) (expression_statement "pdVar23 = *(dword **)(puVar19 + 0x35d1c0);" (assignment_expression "pdVar23 = *(dword **)(puVar19 + 0x35d1c0)" identifier = (pointer_expression "*(dword **)(puVar19 + 0x35d1c0)" * (cast_expression "(dword **)(puVar19 + 0x35d1c0)" ( (type_descriptor "dword **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d1c0)" ( (binary_expression "puVar19 + 0x35d1c0" identifier + number_literal) ))))) ;) (expression_statement "dStack_108c = *pdVar23;" (assignment_expression "dStack_108c = *pdVar23" identifier = (pointer_expression "*pdVar23" * identifier)) ;) (expression_statement "puStack_1084 = unaff_s0;" (assignment_expression "puStack_1084 = unaff_s0" identifier = identifier) ;) (expression_statement "piStack_1080 = unaff_s1;" (assignment_expression "piStack_1080 = unaff_s1" identifier = identifier) ;) (expression_statement "piStack_107c = unaff_s2;" (assignment_expression "piStack_107c = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_1078 = param_4;" (assignment_expression "piStack_1078 = param_4" identifier = identifier) ;) (expression_statement "piStack_1070 = param_3;" (assignment_expression "piStack_1070 = param_3" identifier = identifier) ;) (expression_statement "piStack_106c = unaff_s6;" (assignment_expression "piStack_106c = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_1068 = unaff_s7;" (assignment_expression "puStack_1068 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_1064 = pcVar26;" (assignment_expression "pcStack_1064 = pcVar26" identifier = identifier) ;) (if_statement "if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" { (if_statement "if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" if (parenthesized_expression "(piVar12[0xc85] == -0x54535255)" ( (binary_expression "piVar12[0xc85] == -0x54535255" (subscript_expression "piVar12[0xc85]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }" { (if_statement "if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" if (parenthesized_expression "(piVar12[0xc84] != 0)" ( (binary_expression "piVar12[0xc84] != 0" (subscript_expression "piVar12[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" { (expression_statement "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);" (call_expression "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d170))" ( (pointer_expression "**(code **)(puVar19 + 0x35d170)" * (pointer_expression "*(code **)(puVar19 + 0x35d170)" * (cast_expression "(code **)(puVar19 + 0x35d170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d170)" ( (binary_expression "puVar19 + 0x35d170" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" ( number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" identifier = identifier) ;) (expression_statement "param_4 = piVar11;" (assignment_expression "param_4 = piVar11" identifier = identifier) ;) (expression_statement "param_3 = piVar2;" (assignment_expression "param_3 = piVar2" identifier = identifier) ;) (if_statement "if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c5a4;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870);" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870)" identifier = (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" if (parenthesized_expression "(*(int *)(puVar13 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar13 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" * (cast_expression "(int *)(puVar13 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x336c)" ( (binary_expression "puVar13 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" { (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d12c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d12c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d12c)" * (cast_expression "(code **)(puVar19 + 0x35d12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d12c)" ( (binary_expression "puVar19 + 0x35d12c" identifier + number_literal) ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" { (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (expression_statement "unaff_s7 = (uint *)(puVar13 + 0x2340);" (assignment_expression "unaff_s7 = (uint *)(puVar13 + 0x2340)" identifier = (cast_expression "(uint *)(puVar13 + 0x2340)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2340)" ( (binary_expression "puVar13 + 0x2340" identifier + number_literal) )))) ;) (expression_statement "unaff_s2 = (int *)(*pcVar26)(piVar12);" (assignment_expression "unaff_s2 = (int *)(*pcVar26)(piVar12)" identifier = (cast_expression "(int *)(*pcVar26)(piVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier ))))) ;) (expression_statement "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);" (assignment_expression "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d208))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d208))" ( (pointer_expression "**(code **)(puVar19 + 0x35d208)" * (pointer_expression "*(code **)(puVar19 + 0x35d208)" * (cast_expression "(code **)(puVar19 + 0x35d208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d208)" ( (binary_expression "puVar19 + 0x35d208" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);" (call_expression "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d568))" ( (pointer_expression "**(code **)(puVar19 + 0x35d568)" * (pointer_expression "*(code **)(puVar19 + 0x35d568)" * (cast_expression "(code **)(puVar19 + 0x35d568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d568)" ( (binary_expression "puVar19 + 0x35d568" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,uVar3,piVar11)" ( identifier , identifier , identifier ))) ;) (if_statement "if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" if (parenthesized_expression "(*(char *)(unaff_s2 + 0x84) != '\0')" ( (binary_expression "*(char *)(unaff_s2 + 0x84) != '\0'" (pointer_expression "*(char *)(unaff_s2 + 0x84)" * (cast_expression "(char *)(unaff_s2 + 0x84)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s2 + 0x84)" ( (binary_expression "unaff_s2 + 0x84" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" { (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" * (cast_expression "(code **)(puVar19 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d7cc)" ( (binary_expression "puVar19 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,unaff_s2 + 0x84,0x1000)" ( identifier , (binary_expression "unaff_s2 + 0x84" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);" (assignment_expression "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d39c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d39c)" * (pointer_expression "*(code **)(puVar19 + 0x35d39c)" * (cast_expression "(code **)(puVar19 + 0x35d39c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d39c)" ( (binary_expression "puVar19 + 0x35d39c" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,piVar11)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" if (parenthesized_expression "(unaff_s6 == (int *)0x0)" ( (binary_expression "unaff_s6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" else (compound_statement "{\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc9c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cc9c)" * (pointer_expression "*(code **)(puVar19 + 0x35cc9c)" * (cast_expression "(code **)(puVar19 + 0x35cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc9c)" ( (binary_expression "puVar19 + 0x35cc9c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }" { (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d45c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d45c)" * (pointer_expression "*(code **)(puVar19 + 0x35d45c)" * (cast_expression "(code **)(puVar19 + 0x35d45c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d45c)" ( (binary_expression "puVar19 + 0x35d45c" identifier + number_literal) ))))) )) (argument_list "(piVar12,puVar13,piVar2,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) }) (else_clause "else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" else (compound_statement "{\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" { (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" * (cast_expression "(code **)(puVar19 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d7cc)" ( (binary_expression "puVar19 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s2 + 0x84,unaff_s7,0x1000)" ( (binary_expression "unaff_s2 + 0x84" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d704))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d704))" ( (pointer_expression "**(code **)(puVar19 + 0x35d704)" * (pointer_expression "*(code **)(puVar19 + 0x35d704)" * (cast_expression "(code **)(puVar19 + 0x35d704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d704)" ( (binary_expression "puVar19 + 0x35d704" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }" { (expression_statement "unaff_s6 = aiStack_208c;" (assignment_expression "unaff_s6 = aiStack_208c" identifier = identifier) ;) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cdd4))" ( (pointer_expression "**(code **)(puVar19 + 0x35cdd4)" * (pointer_expression "*(code **)(puVar19 + 0x35cdd4)" * (cast_expression "(code **)(puVar19 + 0x35cdd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cdd4)" ( (binary_expression "puVar19 + 0x35cdd4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar19 + 0x35d940))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d940))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35d940))" ( (pointer_expression "**(code **)(puVar19 + 0x35d940)" * (pointer_expression "*(code **)(puVar19 + 0x35d940)" * (cast_expression "(code **)(puVar19 + 0x35d940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d940)" ( (binary_expression "puVar19 + 0x35d940" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d37c))(*puVar8)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d37c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d37c)" * (pointer_expression "*(code **)(puVar19 + 0x35d37c)" * (cast_expression "(code **)(puVar19 + 0x35d37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d37c)" ( (binary_expression "puVar19 + 0x35d37c" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d004))(puVar4);" (call_expression "(**(code **)(puVar19 + 0x35d004))(puVar4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d004))" ( (pointer_expression "**(code **)(puVar19 + 0x35d004)" * (pointer_expression "*(code **)(puVar19 + 0x35d004)" * (cast_expression "(code **)(puVar19 + 0x35d004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d004)" ( (binary_expression "puVar19 + 0x35d004" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) }) (else_clause "else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" else (compound_statement "{\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d768))" ( (pointer_expression "**(code **)(puVar19 + 0x35d768)" * (pointer_expression "*(code **)(puVar19 + 0x35d768)" * (cast_expression "(code **)(puVar19 + 0x35d768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d768)" ( (binary_expression "puVar19 + 0x35d768" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xe98" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s2[0x81] = iVar1;" (assignment_expression "unaff_s2[0x81] = iVar1" (subscript_expression "unaff_s2[0x81]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }" { (labeled_statement "LAB_0004c308:\n                    piVar12 = (int *)0x0;" statement_identifier : (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" else (compound_statement "{\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" { (expression_statement "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);" (call_expression "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cd0c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cd0c)" * (pointer_expression "*(code **)(puVar19 + 0x35cd0c)" * (cast_expression "(code **)(puVar19 + 0x35cd0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cd0c)" ( (binary_expression "puVar19 + 0x35cd0c" identifier + number_literal) ))))) )) (argument_list "(auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1d10" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);" (assignment_expression "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" identifier = (cast_expression "(undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc0c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cc0c)" * (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" * (cast_expression "(code **)(puVar19 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc0c)" ( (binary_expression "puVar19 + 0x35cc0c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,puVar13,auStack_308c,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" ( (pointer_expression "**(code **)(puVar19 + 0x35d618)" * (pointer_expression "*(code **)(puVar19 + 0x35d618)" * (cast_expression "(code **)(puVar19 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d618)" ( (binary_expression "puVar19 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);" (call_expression "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81])" (parenthesized_expression "(**(code **)(puVar19 + 0x35d32c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d32c)" * (pointer_expression "*(code **)(puVar19 + 0x35d32c)" * (cast_expression "(code **)(puVar19 + 0x35d32c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d32c)" ( (binary_expression "puVar19 + 0x35d32c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2[0x81])" ( (subscript_expression "unaff_s2[0x81]" identifier [ number_literal ]) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004c308;" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c308;" goto statement_identifier ;)) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ccb4))" ( (pointer_expression "**(code **)(puVar19 + 0x35ccb4)" * (pointer_expression "*(code **)(puVar19 + 0x35ccb4)" * (cast_expression "(code **)(puVar19 + 0x35ccb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ccb4)" ( (binary_expression "puVar19 + 0x35ccb4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0xffffffff,piVar2,piVar11)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6);" (call_expression "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf2c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf2c)" * (pointer_expression "*(code **)(puVar19 + 0x35cf2c)" * (cast_expression "(code **)(puVar19 + 0x35cf2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf2c)" ( (binary_expression "puVar19 + 0x35cf2c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))) ;) }))) }) (else_clause "else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" else (compound_statement "{\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" { (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d49c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d49c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d49c)" * (cast_expression "(code **)(puVar19 + 0x35d49c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d49c)" ( (binary_expression "puVar19 + 0x35d49c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2[0x83] = 0;" (assignment_expression "unaff_s2[0x83] = 0" (subscript_expression "unaff_s2[0x83]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = (int *)(puVar13 + 0x340);" (assignment_expression "unaff_s6 = (int *)(puVar13 + 0x340)" identifier = (cast_expression "(int *)(puVar13 + 0x340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x340)" ( (binary_expression "puVar13 + 0x340" identifier + number_literal) )))) ;) (expression_statement "iVar1 = (*pcVar26)(0x10000,1);" (assignment_expression "iVar1 = (*pcVar26)(0x10000,1)" identifier = (call_expression "(*pcVar26)(0x10000,1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(0x10000,1)" ( number_literal , number_literal )))) ;) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }" { (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" else (compound_statement "{\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" { (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" ( (pointer_expression "**(code **)(puVar19 + 0x35d618)" * (pointer_expression "*(code **)(puVar19 + 0x35d618)" * (cast_expression "(code **)(puVar19 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d618)" ( (binary_expression "puVar19 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35cc0c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35cc0c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" * (cast_expression "(code **)(puVar19 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc0c)" ( (binary_expression "puVar19 + 0x35cc0c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;" (assignment_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1" (pointer_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x3348) + 0x30)" ( (binary_expression "*(int *)(puVar13 + 0x3348) + 0x30" (pointer_expression "*(int *)(puVar13 + 0x3348)" * (cast_expression "(int *)(puVar13 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar13[0x340] = 0;" (assignment_expression "puVar13[0x340] = 0" (subscript_expression "puVar13[0x340]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);" (assignment_expression "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" identifier = (cast_expression "(undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(unaff_s2,puVar13,unaff_s6,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "piVar12 = *(int **)(puVar13 + 0x3348);" (assignment_expression "piVar12 = *(int **)(puVar13 + 0x3348)" identifier = (pointer_expression "*(int **)(puVar13 + 0x3348)" * (cast_expression "(int **)(puVar13 + 0x3348)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d6fc);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d6fc)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d6fc)" * (cast_expression "(code **)(puVar19 + 0x35d6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d6fc)" ( (binary_expression "puVar19 + 0x35d6fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = *piVar12;" (assignment_expression "*piVar2 = *piVar12" (pointer_expression "*piVar2" * identifier) = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "iVar1 = (*pcVar26)(piVar12);" (assignment_expression "iVar1 = (*pcVar26)(piVar12)" identifier = (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" identifier = (call_expression "(**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf50)" * (pointer_expression "*(code **)(puVar19 + 0x35cf50)" * (cast_expression "(code **)(puVar19 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf50)" ( (binary_expression "puVar19 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(unaff_s2[0x82])" ( (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) )))) ;) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" else (if_statement "if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }" { (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35cf50))(iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf50)" * (pointer_expression "*(code **)(puVar19 + 0x35cf50)" * (cast_expression "(code **)(puVar19 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf50)" ( (binary_expression "puVar19 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))))) ;) }) (else_clause "else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" else (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" { (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d3b0))" ( (pointer_expression "**(code **)(puVar19 + 0x35d3b0)" * (pointer_expression "*(code **)(puVar19 + 0x35d3b0)" * (cast_expression "(code **)(puVar19 + 0x35d3b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d3b0)" ( (binary_expression "puVar19 + 0x35d3b0" identifier + number_literal) ))))) )) (argument_list "(iVar1,*piVar2 + 1,1)" ( identifier , (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" identifier = identifier) ;) }))) }))) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" identifier = identifier) ;) (if_statement "if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }" if (parenthesized_expression "(dStack_108c == *pdVar23)" ( (binary_expression "dStack_108c == *pdVar23" identifier == (pointer_expression "*pdVar23" * identifier)) )) (compound_statement "{\n            return piVar12;\n          }" { (return_statement "return piVar12;" return identifier ;) })) (goto_statement "goto LAB_0004c598;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004c5c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" else (compound_statement "{\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" { (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xda0" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x35cff4))();" (call_expression "(**(code **)(puVar19 + 0x35cff4))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35cff4))" ( (pointer_expression "**(code **)(puVar19 + 0x35cff4)" * (pointer_expression "*(code **)(puVar19 + 0x35cff4)" * (cast_expression "(code **)(puVar19 + 0x35cff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cff4)" ( (binary_expression "puVar19 + 0x35cff4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" statement_identifier : (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4" identifier = (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e48" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;" statement_identifier : (expression_statement "iVar1 = iVar1 + 0x24c4;" (assignment_expression "iVar1 = iVar1 + 0x24c4" identifier = (binary_expression "iVar1 + 0x24c4" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1cac" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e64" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar1 + 0x24c4" identifier + number_literal) ))) ;) (expression_statement "unaff_s1 = piVar12;" (assignment_expression "unaff_s1 = piVar12" identifier = identifier) ;) })) (expression_statement "pdVar18 = (dword *)0x982;" (assignment_expression "pdVar18 = (dword *)0x982" identifier = (cast_expression "(dword *)0x982" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d598);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d598)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) ;) (expression_statement "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);" (assignment_expression "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" identifier = (cast_expression "(int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);" (assignment_expression "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" identifier = (cast_expression "(undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0xd78)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xd78" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);" (call_expression "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }" { (labeled_statement "LAB_0004ca88:\n    puVar4 = unaff_s0;" statement_identifier : (expression_statement "puVar4 = unaff_s0;" (assignment_expression "puVar4 = unaff_s0" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004caac:\n    pdVar18 = pdVar23;" statement_identifier : (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" identifier = identifier) ;)) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2bc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35c2bc)" * (cast_expression "(int *)(pcVar26 + 0x35c2bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2bc)" ( (binary_expression "pcVar26 + 0x35c2bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;" if (parenthesized_expression "(*(int *)(puVar4 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x336c)" * (cast_expression "(int *)(puVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x336c)" ( (binary_expression "puVar4 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0004caac;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" if (parenthesized_expression "(*(int *)(puVar4 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar4 + 0x3350) != 0" (pointer_expression "*(int *)(puVar4 + 0x3350)" * (cast_expression "(int *)(puVar4 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x3350)" ( (binary_expression "puVar4 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);" (call_expression "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cbb4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cbb4)" * (pointer_expression "*(code **)(pcVar26 + 0x35cbb4)" * (cast_expression "(code **)(pcVar26 + 0x35cbb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cbb4)" ( (binary_expression "pcVar26 + 0x35cbb4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2270" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s1 = *(int **)(puVar4 + 0x3348);" (assignment_expression "unaff_s1 = *(int **)(puVar4 + 0x3348)" identifier = (pointer_expression "*(int **)(puVar4 + 0x3348)" * (cast_expression "(int **)(puVar4 + 0x3348)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x3348)" ( (binary_expression "puVar4 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" if (parenthesized_expression "(unaff_s1 == (int *)0x0)" ( (binary_expression "unaff_s1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s0 = puVar4;" (assignment_expression "unaff_s0 = puVar4" identifier = identifier) ;) (expression_statement "param_4 = piVar12;" (assignment_expression "param_4 = piVar12" identifier = identifier) ;) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" identifier = identifier) ;) (goto_statement "goto LAB_0004ca88;" goto statement_identifier ;) })) (expression_statement "uVar5 = unaff_s1[0x10];" (assignment_expression "uVar5 = unaff_s1[0x10]" identifier = (subscript_expression "unaff_s1[0x10]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" { (if_statement "if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar5 < 7)" ( (binary_expression "uVar5 < 7" identifier < number_literal) )) (compound_statement "{\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }" { (if_statement "if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" { (if_statement "if (uVar5 != 1) {\n            return (int *)0x1;\n          }" if (parenthesized_expression "(uVar5 != 1)" ( (binary_expression "uVar5 != 1" identifier != number_literal) )) (compound_statement "{\n            return (int *)0x1;\n          }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" if (parenthesized_expression "(-1 < (longlong)uVar27)" ( (binary_expression "-1 < (longlong)uVar27" number_literal < (cast_expression "(longlong)uVar27" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" { (if_statement "if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(CONCAT44(pdVar18,piVar12) <= uVar27)" ( (binary_expression "CONCAT44(pdVar18,piVar12) <= uVar27" (call_expression "CONCAT44(pdVar18,piVar12)" identifier (argument_list "(pdVar18,piVar12)" ( identifier , identifier ))) <= identifier) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" * (cast_expression "(code **)(pcVar26 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cb28)" ( (binary_expression "pcVar26 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" * (cast_expression "(int *)(pcVar26 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b8)" ( (binary_expression "pcVar26 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" if (parenthesized_expression "(unaff_s1[0xd] != 0)" ( (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" { (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == -1) {\n                  return (int *)0x0;\n                }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                  return (int *)0x0;\n                }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))(iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))(iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" * (cast_expression "(code **)(pcVar26 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ca14)" ( (binary_expression "pcVar26 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) (return_statement "return (int *)(uint)(iVar1 == 1);" return (cast_expression "(int *)(uint)(iVar1 == 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar1 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )))) ;) })) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) }) (else_clause "else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" else (compound_statement "{\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" { (if_statement "if (uVar5 != 7) {\n          return (int *)0x1;\n        }" if (parenthesized_expression "(uVar5 != 7)" ( (binary_expression "uVar5 != 7" identifier != number_literal) )) (compound_statement "{\n          return (int *)0x1;\n        }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" if (parenthesized_expression "(pdVar18 == (dword *)0x0)" ( (binary_expression "pdVar18 == (dword *)0x0" identifier == (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" { (if_statement "if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" if (parenthesized_expression "(unaff_s1[4] == 0)" ( (binary_expression "unaff_s1[4] == 0" (subscript_expression "unaff_s1[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cdf4);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cdf4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35cdf4)" * (cast_expression "(code **)(pcVar26 + 0x35cdf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cdf4)" ( (binary_expression "pcVar26 + 0x35cdf4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);" (assignment_expression "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" identifier = (call_expression "(*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" ( (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) , (cast_expression "(undefined1 *)((int)piVar12 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 1)" ( (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal )))) ;) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(unaff_s1[0x3c] != 0)" ( (binary_expression "unaff_s1[0x3c] != 0" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35d140))(unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d140))(unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d140))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d140)" * (pointer_expression "*(code **)(pcVar26 + 0x35d140)" * (cast_expression "(code **)(pcVar26 + 0x35d140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d140)" ( (binary_expression "pcVar26 + 0x35d140" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d09c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d09c)" * (pointer_expression "*(code **)(pcVar26 + 0x35d09c)" * (cast_expression "(code **)(pcVar26 + 0x35d09c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d09c)" ( (binary_expression "pcVar26 + 0x35d09c" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x3c],*unaff_s1)" ( (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) , (pointer_expression "*unaff_s1" * identifier) ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35d0e0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d0e0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d0e0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d0e0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d0e0)" * (cast_expression "(code **)(pcVar26 + 0x35d0e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d0e0)" ( (binary_expression "pcVar26 + 0x35d0e0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" if (parenthesized_expression "(-1 < lVar28)" ( (binary_expression "-1 < lVar28" number_literal < identifier) )) (compound_statement "{\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" { (if_statement "if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "((int)((ulonglong)lVar28 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)lVar28 >> 0x20) != 0" (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" ( (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(piVar12 <= (int *)lVar28)" ( (binary_expression "piVar12 <= (int *)lVar28" identifier <= (cast_expression "(int *)lVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" * (cast_expression "(code **)(pcVar26 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cb28)" ( (binary_expression "pcVar26 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" * (cast_expression "(int *)(pcVar26 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b8)" ( (binary_expression "pcVar26 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" if (parenthesized_expression "(unaff_s1[0xd] != 0)" ( (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" { (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == -1) {\n                return (int *)0x0;\n              }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                return (int *)0x0;\n              }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (lVar28 < 0) {\n                return (int *)0x0;\n              }" if (parenthesized_expression "(lVar28 < 0)" ( (binary_expression "lVar28 < 0" identifier < number_literal) )) (compound_statement "{\n                return (int *)0x0;\n              }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" * (cast_expression "(code **)(pcVar26 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ca14)" ( (binary_expression "pcVar26 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" ( identifier , (binary_expression "piVar12 < (int *)((int)piVar12 - (int)lVar28)" identifier < (cast_expression "(int *)((int)piVar12 - (int)lVar28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 - (int)lVar28)" ( (binary_expression "(int)piVar12 - (int)lVar28" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" ( (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" { (expression_statement "(**(code **)(pcVar26 + 0x35d1f0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d1f0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d1f0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d1f0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d1f0)" * (cast_expression "(code **)(pcVar26 + 0x35d1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d1f0)" ( (binary_expression "pcVar26 + 0x35d1f0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d160))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d160)" * (pointer_expression "*(code **)(pcVar26 + 0x35d160)" * (cast_expression "(code **)(pcVar26 + 0x35d160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d160)" ( (binary_expression "pcVar26 + 0x35d160" identifier + number_literal) ))))) )) (argument_list "(uVar3,1,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*unaff_s1 = (int)piVar12;" (assignment_expression "*unaff_s1 = (int)piVar12" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) })) }))) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pdVar23 = (dword *)&DAT_000013e9;" (assignment_expression "pdVar23 = (dword *)&DAT_000013e9" identifier = (cast_expression "(dword *)&DAT_000013e9" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000013e9" & identifier))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cfdc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cfdc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }" { (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8" identifier = (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "piVar2 = unaff_s1;" (assignment_expression "piVar2 = unaff_s1" identifier = identifier) ;) (labeled_statement "LAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;" statement_identifier : (expression_statement "iVar1 = iVar1 + 0x21d8;" (assignment_expression "iVar1 = iVar1 + 0x21d8" identifier = (binary_expression "iVar1 + 0x21d8" identifier + number_literal)) ;)) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar1 + 0x21d8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdf4) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35bdf4)" * (cast_expression "(int *)(pcVar24 + 0x35bdf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdf4)" ( (binary_expression "pcVar24 + 0x35bdf4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" { (if_statement "if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;" if (parenthesized_expression "(piVar2[0xcdb] != -0x54535255)" ( (binary_expression "piVar2[0xcdb] != -0x54535255" (subscript_expression "piVar2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004cf3c;" goto statement_identifier ;)) (expression_statement "puVar4 = (undefined *)piVar2[0xcd2];" (assignment_expression "puVar4 = (undefined *)piVar2[0xcd2]" identifier = (cast_expression "(undefined *)piVar2[0xcd2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec);" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) ))))) ;) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004cf1c;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(puVar4 + 0x40);" (assignment_expression "uVar5 = *(uint *)(puVar4 + 0x40)" identifier = (pointer_expression "*(uint *)(puVar4 + 0x40)" * (cast_expression "(uint *)(puVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x40)" ( (binary_expression "puVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (if_statement "if (uVar5 == 0) goto LAB_0004cf00;" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004cf00;" goto statement_identifier ;)) (if_statement "if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (int *)0x0;\n    }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "unaff_s2 = piVar11;" (assignment_expression "unaff_s2 = piVar11" identifier = identifier) ;) (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" identifier = identifier) ;) (if_statement "if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(pdVar23 != (dword *)0x0)" ( (binary_expression "pdVar23 != (dword *)0x0" identifier != (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" { (if_statement "if (uVar5 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" if (parenthesized_expression "(uVar5 < 9)" ( (binary_expression "uVar5 < 9" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" { comment comment (expression_statement "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();" (assignment_expression "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" identifier = (cast_expression "(int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" (parenthesized_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))" ( (pointer_expression "*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" * (parenthesized_expression "(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" ( (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc" identifier + (cast_expression "(int)&DWORD_00363dbc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DWORD_00363dbc" & identifier))) + (pointer_expression "*(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" * (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4" (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar5 * 4" identifier * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "uVar3 = 0x15f3;" (assignment_expression "uVar3 = 0x15f3" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);" (assignment_expression "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1fa8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar26 = pcVar25 + 0x363930;" (assignment_expression "pcVar26 = pcVar25 + 0x363930" identifier = (binary_expression "pcVar25 + 0x363930" identifier + number_literal)) ;) (expression_statement "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);" (assignment_expression "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x35c2b0)" * (cast_expression "(int **)(pcVar25 + 0x35c2b0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35c2b0)" ( (binary_expression "pcVar25 + 0x35c2b0" identifier + number_literal) ))))) ;) (expression_statement "iStack_316c = *piStack_3224;" (assignment_expression "iStack_316c = *piStack_3224" identifier = (pointer_expression "*piStack_3224" * identifier)) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) (expression_statement "pcStack_3230 = pcVar26;" (assignment_expression "pcStack_3230 = pcVar26" identifier = identifier) ;) (expression_statement "uStack_3220 = uVar3;" (assignment_expression "uStack_3220 = uVar3" identifier = identifier) ;) (expression_statement "puStack_3168 = puVar4;" (assignment_expression "puStack_3168 = puVar4" identifier = identifier) ;) (expression_statement "piStack_3164 = piVar2;" (assignment_expression "piStack_3164 = piVar2" identifier = identifier) ;) (expression_statement "piStack_3160 = unaff_s2;" (assignment_expression "piStack_3160 = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_315c = piVar12;" (assignment_expression "piStack_315c = piVar12" identifier = identifier) ;) (expression_statement "pdStack_3158 = pdVar18;" (assignment_expression "pdStack_3158 = pdVar18" identifier = identifier) ;) (expression_statement "piStack_3154 = param_3;" (assignment_expression "piStack_3154 = param_3" identifier = identifier) ;) (expression_statement "piStack_3150 = unaff_s6;" (assignment_expression "piStack_3150 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_314c = unaff_s7;" (assignment_expression "puStack_314c = unaff_s7" identifier = identifier) ;) (if_statement "if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }" { (labeled_statement "LAB_0004d5d8:\n    piVar14 = unaff_s2;" statement_identifier : (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" identifier = identifier) ;)) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" identifier = identifier) ;) (expression_statement "pdVar23 = (dword *)0x664;" (assignment_expression "pdVar23 = (dword *)0x664" identifier = (cast_expression "(dword *)0x664" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;" (assignment_expression "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c" identifier = (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;" (assignment_expression "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0" identifier = (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" * (cast_expression "(int *)(pcVar26 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fc8)" ( (binary_expression "pcVar26 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + -0x72a8))();" (call_expression "(**(code **)(pcVar26 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" { (if_statement "if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" if (parenthesized_expression "(*(int *)(puVar13 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar13 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" * (cast_expression "(int *)(puVar13 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x336c)" ( (binary_expression "puVar13 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" { (labeled_statement "LAB_0004d590:\n      piVar14 = unaff_s2;" statement_identifier : (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" * (cast_expression "(int *)(pcVar26 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fc8)" ( (binary_expression "pcVar26 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1b68" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" identifier = identifier) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_0004d5d8;" goto statement_identifier ;) })) (if_statement "if (piVar14 == (int *)0x0) goto LAB_0004d5b4;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d5b4;" goto statement_identifier ;)) (expression_statement "uVar5 = 0x667;" (assignment_expression "uVar5 = 0x667" identifier = number_literal) ;) (expression_statement "piVar12 = *(int **)(pcVar25 + 0x35b960);" (assignment_expression "piVar12 = *(int **)(pcVar25 + 0x35b960)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x35b960)" * (cast_expression "(int **)(pcVar25 + 0x35b960)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35b960)" ( (binary_expression "pcVar25 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "pdVar18 = *(dword **)(pcVar25 + 0x35b960);" (assignment_expression "pdVar18 = *(dword **)(pcVar25 + 0x35b960)" identifier = (pointer_expression "*(dword **)(pcVar25 + 0x35b960)" * (cast_expression "(dword **)(pcVar25 + 0x35b960)" ( (type_descriptor "dword **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35b960)" ( (binary_expression "pcVar25 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;" (assignment_expression "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac" identifier = (binary_expression "*(int *)(pcVar25 + 0x35b964) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x35b964)" * (cast_expression "(int *)(pcVar25 + 0x35b964)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x35b964)" ( (binary_expression "pcVar25 + 0x35b964" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = piVar14;" (assignment_expression "piStack_3244 = piVar14" identifier = identifier) ;) (expression_statement "pdStack_321c = pdVar18;" (assignment_expression "pdStack_321c = pdVar18" identifier = identifier) ;) (expression_statement "piStack_3218 = piVar12;" (assignment_expression "piStack_3218 = piVar12" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);" (call_expression "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" (parenthesized_expression "(**(code **)(pcVar25 + 0x35c260))" ( (pointer_expression "**(code **)(pcVar25 + 0x35c260)" * (pointer_expression "*(code **)(pcVar25 + 0x35c260)" * (cast_expression "(code **)(pcVar25 + 0x35c260)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35c260)" ( (binary_expression "pcVar25 + 0x35c260" identifier + number_literal) ))))) )) (argument_list "(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" ( number_literal , (binary_expression "pdVar18 + 0x6b6" identifier + number_literal) , (binary_expression "piVar12 + 0x980" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7b00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7b00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7b00)" * (cast_expression "(code **)(pcStack_3230 + -0x7b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7b00)" ( (binary_expression "pcStack_3230 + -0x7b00" identifier + number_literal) ))))) )) (argument_list "(4,2,piVar14)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar5 = 0x66c;" (assignment_expression "uVar5 = 0x66c" identifier = number_literal) ;) (expression_statement "*puVar8 = 1;" (assignment_expression "*puVar8 = 1" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piVar12 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piVar12 + 0x980)" identifier = (cast_expression "(dword *)(piVar12 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 0x980)" ( (binary_expression "piVar12 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdVar18 + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdVar18 + 0x6b6)" identifier = (cast_expression "(int *)(pdVar18 + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar18 + 0x6b6)" ( (binary_expression "pdVar18 + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 499;" (assignment_expression "iStack_3248 = 499" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" else (compound_statement "{\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" { (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6ee4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6ee4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6ee4)" * (cast_expression "(code **)(pcStack_3230 + -0x6ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6ee4)" ( (binary_expression "pcStack_3230 + -0x6ee4" identifier + number_literal) ))))) )) (argument_list "(**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (pointer_expression "**(undefined4 **)(pcStack_3230 + -0x78ec)" * (pointer_expression "*(undefined4 **)(pcStack_3230 + -0x78ec)" * (cast_expression "(undefined4 **)(pcStack_3230 + -0x78ec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78ec)" ( (binary_expression "pcStack_3230 + -0x78ec" identifier + number_literal) ))))) ))))) ;) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x77a0)" * (cast_expression "(code **)(pcStack_3230 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x77a0)" ( (binary_expression "pcStack_3230 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" ( identifier , (binary_expression "*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac" (pointer_expression "*(int *)(pcStack_3230 + -0x7fc4)" * (cast_expression "(int *)(pcStack_3230 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fc4)" ( (binary_expression "pcStack_3230 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (if_statement "if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;" if (parenthesized_expression "(piVar12 == (int *)0xffffffff)" ( (binary_expression "piVar12 == (int *)0xffffffff" identifier == (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d3d0;" goto statement_identifier ;)) (labeled_statement "LAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" statement_identifier : (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7a08))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7a08)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7a08)" * (cast_expression "(code **)(pcStack_3230 + -0x7a08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7a08)" ( (binary_expression "pcStack_3230 + -0x7a08" identifier + number_literal) ))))) )) (argument_list "(3,piVar12,auStack_3210)" ( number_literal , identifier , identifier )))) ;)) (if_statement "if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" if (parenthesized_expression "(((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)))" ( (binary_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" (parenthesized_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))" ( (binary_expression "(iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) || (parenthesized_expression "((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" ( (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8" (call_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" ( (binary_expression "(undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4" (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_31d4 + -1)" ( (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < identifier) ))) + identifier) + number_literal) != number_literal) ))) )) || (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" ( (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) , (comma_expression "pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pdVar18 = pdStack_31d4" identifier = identifier) , (binary_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (cast_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0x16e].st_value + 2" (cast_expression "(int)&__DT_SYMTAB[0x16e].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x16e].st_value" & (field_expression "__DT_SYMTAB[0x16e].st_value" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_31d4 + -1)" ( (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) )) (compound_statement "{\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x73a4);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) ;) (expression_statement "pdVar18 = &__DT_SYMTAB[0x16e].st_size;" (assignment_expression "pdVar18 = &__DT_SYMTAB[0x16e].st_size" identifier = (pointer_expression "&__DT_SYMTAB[0x16e].st_size" & (field_expression "__DT_SYMTAB[0x16e].st_size" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier))) ;) })) (expression_statement "piVar2 = (int *)(*pcVar26)(pdVar18,1);" (assignment_expression "piVar2 = (int *)(*pcVar26)(pdVar18,1)" identifier = (cast_expression "(int *)(*pcVar26)(pdVar18,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(pdVar18,1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pdVar18,1)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" { (expression_statement "param_3 = (int *)&DAT_00000007;" (assignment_expression "param_3 = (int *)&DAT_00000007" identifier = (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" statement_identifier : (do_statement "do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" do (compound_statement "{\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          }" { (expression_statement "piVar16 = piVar2;" (assignment_expression "piVar16 = piVar2" identifier = identifier) ;) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" identifier = identifier) ;) (expression_statement "unaff_s8 = (*pcVar26)(piVar12);" (assignment_expression "unaff_s8 = (*pcVar26)(piVar12)" identifier = (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier )))) ;) (if_statement "if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" if (parenthesized_expression "((int)unaff_s8 < 1)" ( (binary_expression "(int)unaff_s8 < 1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" { (expression_statement "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" if (parenthesized_expression "(*piVar11 == 4)" ( (binary_expression "*piVar11 == 4" (pointer_expression "*piVar11" * identifier) == number_literal) )) (compound_statement "{\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d114;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" statement_identifier : (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier )))) ;)) (if_statement "if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x696;" (assignment_expression "uVar5 = 0x696" identifier = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) })) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x78f0))(piVar2);" (call_expression "(**(code **)(pcStack_3230 + -0x78f0))(piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x78f0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x78f0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x78f0)" * (cast_expression "(code **)(pcStack_3230 + -0x78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78f0)" ( (binary_expression "pcStack_3230 + -0x78f0" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier ))) ;) (goto_statement "goto LAB_0004d2c8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d114:\n            pcVar26 = pcStack_3230;" statement_identifier : (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" identifier = identifier) ;)) (expression_statement "unaff_s7 = *(uint **)(puVar13 + 0x3348);" (assignment_expression "unaff_s7 = *(uint **)(puVar13 + 0x3348)" identifier = (pointer_expression "*(uint **)(puVar13 + 0x3348)" * (cast_expression "(uint **)(puVar13 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "pdVar23 = pdStack_321c;" (assignment_expression "pdVar23 = pdStack_321c" identifier = identifier) ;) (if_statement "if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" if (parenthesized_expression "(unaff_s7 == (uint *)0x0)" ( (binary_expression "unaff_s7 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" { (labeled_statement "LAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pdVar23 + 0x6b6" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_0004d590;" goto statement_identifier ;) })) (if_statement "if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" if (parenthesized_expression "(unaff_s7[0x10] == 0)" ( (binary_expression "unaff_s7[0x10] == 0" (subscript_expression "unaff_s7[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" { (expression_statement "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);" (assignment_expression "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" identifier = (cast_expression "(dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x72a8)" * (cast_expression "(code **)(pcStack_3230 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72a8)" ( (binary_expression "pcStack_3230 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0004d570;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f)" identifier = (cast_expression "(int *)((int)unaff_s8 >> 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 >> 0x1f)" ( (binary_expression "(int)unaff_s8 >> 0x1f" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" if (parenthesized_expression "(unaff_s7[0x10] != 7)" ( (binary_expression "unaff_s7[0x10] != 7" (subscript_expression "unaff_s7[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" { (expression_statement "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);" (assignment_expression "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f1c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f1c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f1c)" * (cast_expression "(code **)(pcStack_3230 + -0x6f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f1c)" ( (binary_expression "pcStack_3230 + -0x6f1c" identifier + number_literal) ))))) )) (argument_list "(puVar13,unaff_s8,piVar2)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (if_statement "if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" if (parenthesized_expression "(unaff_s8 != uVar7)" ( (binary_expression "unaff_s8 != uVar7" identifier != identifier) )) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x690;" (assignment_expression "uVar5 = 0x690" identifier = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (goto_statement "goto LAB_0004d29c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004d0d4;" goto statement_identifier ;) })) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" identifier = (subscript_expression "unaff_s7[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = unaff_s7[1];" (assignment_expression "uVar5 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (if_statement "if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" if (parenthesized_expression "(((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8))" ( (binary_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" (parenthesized_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0)" ( (binary_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0" (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" ( (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar7 + unaff_s8 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + unaff_s8 < uVar7)" ( (binary_expression "uVar7 + unaff_s8 < uVar7" (binary_expression "uVar7 + unaff_s8" identifier + identifier) < identifier) )))) + (subscript_expression "unaff_s7[8]" identifier [ number_literal ])) ))) != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" ( (comma_expression "uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8" (assignment_expression "uVar15 = unaff_s8" identifier = identifier) , (binary_expression "uVar5 <= uVar7 + unaff_s8" identifier <= (binary_expression "uVar7 + unaff_s8" identifier + identifier))) ))) )) (compound_statement "{\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x74b0);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x74b0)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x74b0)" * (cast_expression "(code **)(pcStack_3230 + -0x74b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74b0)" ( (binary_expression "pcStack_3230 + -0x74b0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar5 + unaff_s7[2] + unaff_s8;" (assignment_expression "uVar5 = uVar5 + unaff_s7[2] + unaff_s8" identifier = (binary_expression "uVar5 + unaff_s7[2] + unaff_s8" (binary_expression "uVar5 + unaff_s7[2]" identifier + (subscript_expression "unaff_s7[2]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "unaff_s7[2] = unaff_s7[2] << 1;" (assignment_expression "unaff_s7[2] = unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" identifier [ number_literal ]) = (binary_expression "unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" identifier [ number_literal ]) << number_literal)) ;) (expression_statement "uStack_3214 = unaff_s8;" (assignment_expression "uStack_3214 = unaff_s8" identifier = identifier) ;) (expression_statement "iVar1 = (*pcVar26)(puVar13,unaff_s8,0);" (assignment_expression "iVar1 = (*pcVar26)(puVar13,unaff_s8,0)" identifier = (call_expression "(*pcVar26)(puVar13,unaff_s8,0)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar13,unaff_s8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d214;" goto statement_identifier ;) })) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" identifier = (subscript_expression "unaff_s7[9]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = uStack_3214;" (assignment_expression "uVar15 = uStack_3214" identifier = identifier) ;) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);" (call_expression "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7558))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7558)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7558)" * (cast_expression "(code **)(pcStack_3230 + -0x7558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7558)" ( (binary_expression "pcStack_3230 + -0x7558" identifier + number_literal) ))))) )) (argument_list "(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" ( (binary_expression "unaff_s7[0x3c] + uVar7" (subscript_expression "unaff_s7[0x3c]" identifier [ number_literal ]) + identifier) , identifier , identifier ))) ;) (expression_statement "uVar7 = unaff_s8 + unaff_s7[9];" (assignment_expression "uVar7 = unaff_s8 + unaff_s7[9]" identifier = (binary_expression "unaff_s8 + unaff_s7[9]" identifier + (subscript_expression "unaff_s7[9]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s7[9] = uVar7;" (assignment_expression "unaff_s7[9] = uVar7" (subscript_expression "unaff_s7[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);" (assignment_expression "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" identifier = (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" ( (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar7 < unaff_s8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < unaff_s8)" ( (binary_expression "uVar7 < unaff_s8" identifier < identifier) )))) + (subscript_expression "unaff_s7[8]" identifier [ number_literal ])) )))) ;) (expression_statement "unaff_s7[8] = (uint)puVar21;" (assignment_expression "unaff_s7[8] = (uint)puVar21" (subscript_expression "unaff_s7[8]" identifier [ number_literal ]) = (cast_expression "(uint)puVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)puVar21 < 0) goto LAB_0004d0d0;" if (parenthesized_expression "((int)puVar21 < 0)" ( (binary_expression "(int)puVar21 < 0" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;)) (if_statement "if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;" if (parenthesized_expression "((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))" ( (binary_expression "(puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" ( (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) , (binary_expression "*unaff_s7 <= uVar7" (pointer_expression "*unaff_s7" * identifier) <= identifier)) ))) )) (goto_statement "goto LAB_0004d1b4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7754))(piVar12);" (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x680;" (assignment_expression "uVar5 = 0x680" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 400;" (assignment_expression "iStack_3248 = 400" identifier = number_literal) ;) }) (else_clause "else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" else (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" { (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7aa8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7aa8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7aa8)" * (cast_expression "(code **)(pcStack_3230 + -0x7aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7aa8)" ( (binary_expression "pcStack_3230 + -0x7aa8" identifier + number_literal) ))))) )) (argument_list "(piVar14,0,0)" ( identifier , number_literal , number_literal ))))) ;) (if_statement "if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;" if (parenthesized_expression "(piVar12 != (int *)0xffffffff)" ( (binary_expression "piVar12 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();" statement_identifier : (expression_statement "puVar8 = (undefined4 *)(*pcVar26)();" (assignment_expression "puVar8 = (undefined4 *)(*pcVar26)()" identifier = (cast_expression "(undefined4 *)(*pcVar26)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x675;" (assignment_expression "uVar5 = 0x675" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) }))) (expression_statement "iStack_3240 = iStack_3240 + 0xe78;" (assignment_expression "iStack_3240 = iStack_3240 + 0xe78" identifier = (binary_expression "iStack_3240 + 0xe78" identifier + number_literal)) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(*pcVar26)(uStack_3220);" (call_expression "(*pcVar26)(uStack_3220)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) }))) (labeled_statement "LAB_0004d2c8:\n    iVar1 = iStack_316c;" statement_identifier : (expression_statement "iVar1 = iStack_316c;" (assignment_expression "iVar1 = iStack_316c" identifier = identifier) ;)) (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" identifier = identifier) ;) (if_statement "if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }" if (parenthesized_expression "(iStack_316c == *piStack_3224)" ( (binary_expression "iStack_316c == *piStack_3224" identifier == (pointer_expression "*piStack_3224" * identifier)) )) (compound_statement "{\n      return piVar11;\n    }" { (return_statement "return piVar11;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar26 + -0x784c)" * (cast_expression "(code **)(pcVar26 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x784c)" ( (binary_expression "pcVar26 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = InjectImageBlob;" (assignment_expression "pcVar24 = InjectImageBlob" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = iStack_3248;" (assignment_expression "iVar6 = iStack_3248" identifier = identifier) ;) (expression_statement "piVar2 = *(int **)(pcVar26 + 0x35bc28);" (assignment_expression "piVar2 = *(int **)(pcVar26 + 0x35bc28)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x35bc28)" * (cast_expression "(int **)(pcVar26 + 0x35bc28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bc28)" ( (binary_expression "pcVar26 + 0x35bc28" identifier + number_literal) ))))) ;) (expression_statement "iStack_3284 = *piVar2;" (assignment_expression "iStack_3284 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "puStack_3280 = puVar13;" (assignment_expression "puStack_3280 = puVar13" identifier = identifier) ;) (expression_statement "piStack_327c = piVar11;" (assignment_expression "piStack_327c = piVar11" identifier = identifier) ;) (expression_statement "piStack_3278 = piVar14;" (assignment_expression "piStack_3278 = piVar14" identifier = identifier) ;) (expression_statement "piStack_3274 = piVar12;" (assignment_expression "piStack_3274 = piVar12" identifier = identifier) ;) (expression_statement "pdStack_3270 = pdVar18;" (assignment_expression "pdStack_3270 = pdVar18" identifier = identifier) ;) (expression_statement "piStack_326c = param_3;" (assignment_expression "piStack_326c = param_3" identifier = identifier) ;) (expression_statement "piStack_3268 = unaff_s6;" (assignment_expression "piStack_3268 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_3264 = unaff_s7;" (assignment_expression "puStack_3264 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_3260 = unaff_s8;" (assignment_expression "uStack_3260 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_325c = pcVar24;" (assignment_expression "pcStack_325c = pcVar24" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }" { (labeled_statement "LAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" statement_identifier : (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1c88" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar17 = (undefined1)iVar6;" (assignment_expression "uVar17 = (undefined1)iVar6" identifier = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) (else_clause "else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" { (if_statement "if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x3214)" * (cast_expression "(int *)(iVar1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3214)" ( (binary_expression "iVar1 + 0x3214" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" { (labeled_statement "LAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xda0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddfc;" goto statement_identifier ;) })) (if_statement "if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" if (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" { (labeled_statement "LAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;) })) (if_statement "if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" if (parenthesized_expression "(piVar16[0xcdb] != -0x54535255)" ( (binary_expression "piVar16[0xcdb] != -0x54535255" (subscript_expression "piVar16[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" { (labeled_statement "LAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" statement_identifier : (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2e0) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35b2e0)" * (cast_expression "(int *)(pcVar26 + 0x35b2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2e0)" ( (binary_expression "pcVar26 + 0x35b2e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar20 + 0x2474" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddb4;" goto statement_identifier ;) })) (if_statement "if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" if (parenthesized_expression "(piVar16[0xcd4] != 0)" ( (binary_expression "piVar16[0xcd4] != 0" (subscript_expression "piVar16[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);" (call_expression "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bbd8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bbd8)" * (pointer_expression "*(code **)(pcVar26 + 0x35bbd8)" * (cast_expression "(code **)(pcVar26 + 0x35bbd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bbd8)" ( (binary_expression "pcVar26 + 0x35bbd8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;" if (parenthesized_expression "(pdVar23 == (dword *)0x0)" ( (binary_expression "pdVar23 == (dword *)0x0" identifier == (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd90;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;" if (parenthesized_expression "(pdVar23[0xcdb] != -0x54535255)" ( (binary_expression "pdVar23[0xcdb] != -0x54535255" (subscript_expression "pdVar23[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004dd70;" goto statement_identifier ;)) (if_statement "if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" { (labeled_statement "LAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1cac" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar20 + 0x2474" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004dd4c;" goto statement_identifier ;) })) (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b83c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b83c)" * (pointer_expression "*(code **)(pcVar26 + 0x35b83c)" * (cast_expression "(code **)(pcVar26 + 0x35b83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b83c)" ( (binary_expression "pcVar26 + 0x35b83c" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier )))) ;) (if_statement "if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0))" ( (binary_expression "(iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" ( (comma_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c1d0)" * (pointer_expression "*(code **)(pcVar26 + 0x35c1d0)" * (cast_expression "(code **)(pcVar26 + 0x35c1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c1d0)" ( (binary_expression "pcVar26 + 0x35c1d0" identifier + number_literal) ))))) )) (argument_list "(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xe98" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar20 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);" (call_expression "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c234))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c234)" * (pointer_expression "*(code **)(pcVar26 + 0x35c234)" * (cast_expression "(code **)(pcVar26 + 0x35c234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c234)" ( (binary_expression "pcVar26 + 0x35c234" identifier + number_literal) ))))) )) (argument_list "(piVar16 + 0xd0,auStack_4284,0x1000)" ( (binary_expression "piVar16 + 0xd0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);" (call_expression "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c228))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c228)" * (pointer_expression "*(code **)(pcVar26 + 0x35c228)" * (cast_expression "(code **)(pcVar26 + 0x35c228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c228)" ( (binary_expression "pcVar26 + 0x35c228" identifier + number_literal) ))))) )) (argument_list "(pdVar23,0,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" * (cast_expression "(code **)(pcVar26 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd94)" ( (binary_expression "pcVar26 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar20)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b774))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b774)" * (pointer_expression "*(code **)(pcVar26 + 0x35b774)" * (cast_expression "(code **)(pcVar26 + 0x35b774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b774)" ( (binary_expression "pcVar26 + 0x35b774" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" ( (binary_expression "iVar9 + 0x340" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1d10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba08))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35ba08))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba08))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba08)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba08)" * (cast_expression "(code **)(pcVar26 + 0x35ba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba08)" ( (binary_expression "pcVar26 + 0x35ba08" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c1d8))(0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c1d8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c1d8)" * (cast_expression "(code **)(pcVar26 + 0x35c1d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c1d8)" ( (binary_expression "pcVar26 + 0x35c1d8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bb94);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bb94)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35bb94)" * (cast_expression "(code **)(pcVar26 + 0x35bb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb94)" ( (binary_expression "pcVar26 + 0x35bb94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x3348) = uVar3;" (assignment_expression "*(undefined4 *)(iVar9 + 0x3348) = uVar3" (pointer_expression "*(undefined4 *)(iVar9 + 0x3348)" * (cast_expression "(undefined4 *)(iVar9 + 0x3348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3348)" ( (binary_expression "iVar9 + 0x3348" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = (*pcVar24)(iVar1);" (assignment_expression "uVar3 = (*pcVar24)(iVar1)" identifier = (call_expression "(*pcVar24)(iVar1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bec8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bec8)" * (pointer_expression "*(code **)(pcVar26 + 0x35bec8)" * (cast_expression "(code **)(pcVar26 + 0x35bec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bec8)" ( (binary_expression "pcVar26 + 0x35bec8" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar20)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = iVar9;" (assignment_expression "iVar1 = iVar9" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b96c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b96c)" * (pointer_expression "*(code **)(pcVar26 + 0x35b96c)" * (cast_expression "(code **)(pcVar26 + 0x35b96c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b96c)" ( (binary_expression "pcVar26 + 0x35b96c" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar9,iVar6)" ( identifier , identifier , identifier ))))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bfe0))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35bfe0))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfe0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bfe0)" * (pointer_expression "*(code **)(pcVar26 + 0x35bfe0)" * (cast_expression "(code **)(pcVar26 + 0x35bfe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bfe0)" ( (binary_expression "pcVar26 + 0x35bfe0" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b944))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b944))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b944))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b944)" * (pointer_expression "*(code **)(pcVar26 + 0x35b944)" * (cast_expression "(code **)(pcVar26 + 0x35b944)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b944)" ( (binary_expression "pcVar26 + 0x35b944" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" * (cast_expression "(code **)(pcVar26 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd94)" ( (binary_expression "pcVar26 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar20)" ( identifier ))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }" { (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" else (compound_statement "{\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b800))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b800)" * (pointer_expression "*(code **)(pcVar26 + 0x35b800)" * (cast_expression "(code **)(pcVar26 + 0x35b800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b800)" ( (binary_expression "pcVar26 + 0x35b800" identifier + number_literal) ))))) )) (argument_list "(auStack_4284,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" else (compound_statement "{\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" { (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b8a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b8a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35b8a0)" * (cast_expression "(code **)(pcVar26 + 0x35b8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b8a0)" ( (binary_expression "pcVar26 + 0x35b8a0" identifier + number_literal) ))))) )) (argument_list "(3,iVar1,auStack_4328)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }" if (parenthesized_expression "(((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff))" ( (binary_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)" (parenthesized_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))" ( (binary_expression "(iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" ( (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0" (call_expression "(uint)(uStack_42ec - 1 < uStack_42ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_42ec - 1 < uStack_42ec)" ( (binary_expression "uStack_42ec - 1 < uStack_42ec" (binary_expression "uStack_42ec - 1" identifier - number_literal) < identifier) ))) + identifier) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(uStack_42ec - 1 < 0x13fff)" ( (binary_expression "uStack_42ec - 1 < 0x13fff" (binary_expression "uStack_42ec - 1" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              uStack_4330 = uStack_42ec;\n            }" { (expression_statement "uStack_4330 = uStack_42ec;" (assignment_expression "uStack_4330 = uStack_42ec" identifier = identifier) ;) }) (else_clause "else {\n              uStack_4330 = 0x14000;\n            }" else (compound_statement "{\n              uStack_4330 = 0x14000;\n            }" { (expression_statement "uStack_4330 = 0x14000;" (assignment_expression "uStack_4330 = 0x14000" identifier = number_literal) ;) }))) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bf04))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bf04)" * (pointer_expression "*(code **)(pcVar26 + 0x35bf04)" * (cast_expression "(code **)(pcVar26 + 0x35bf04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bf04)" ( (binary_expression "pcVar26 + 0x35bf04" identifier + number_literal) ))))) )) (argument_list "(uStack_4330,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" { (while_statement "while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" { (expression_statement "iVar20 = iVar9;" (assignment_expression "iVar20 = iVar9" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);" (assignment_expression "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfac))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bfac)" * (pointer_expression "*(code **)(pcVar26 + 0x35bfac)" * (cast_expression "(code **)(pcVar26 + 0x35bfac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bfac)" ( (binary_expression "pcVar26 + 0x35bfac" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar9,uStack_4330)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = (undefined1)iVar20;" (assignment_expression "uVar17 = (undefined1)iVar20" identifier = (cast_expression "(undefined1)iVar20" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" if (parenthesized_expression "((int)uVar5 < 1)" ( (binary_expression "(int)uVar5 < 1" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" { (expression_statement "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" if (parenthesized_expression "(*piVar11 != 4)" ( (binary_expression "*piVar11 != 4" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" * (cast_expression "(code **)(pcVar26 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb54)" ( (binary_expression "pcVar26 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" { (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*piVar11)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b9b8))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b9b8))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b9b8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b9b8)" * (pointer_expression "*(code **)(pcVar26 + 0x35b9b8)" * (cast_expression "(code **)(pcVar26 + 0x35b9b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b9b8)" ( (binary_expression "pcVar26 + 0x35b9b8" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (goto_statement "goto LAB_0004d764;" goto statement_identifier ;) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (expression_statement "puVar22 = (uint *)piVar16[0xcd2];" (assignment_expression "puVar22 = (uint *)piVar16[0xcd2]" identifier = (cast_expression "(uint *)piVar16[0xcd2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd0c;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] == 0) break;" if (parenthesized_expression "(puVar22[0x10] == 0)" ( (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" if (parenthesized_expression "(puVar22[0x10] == 7)" ( (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }" { (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (if_statement "if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" if (parenthesized_expression "(((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1]))" ( (binary_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])" (parenthesized_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0)" ( (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f)" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar7 + uVar5 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + uVar5 < uVar7)" ( (binary_expression "uVar7 + uVar5 < uVar7" (binary_expression "uVar7 + uVar5" identifier + identifier) < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) + (parenthesized_expression "((int)uVar5 >> 0x1f)" ( (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar7 + uVar5 < puVar22[1])" ( (binary_expression "uVar7 + uVar5 < puVar22[1]" (binary_expression "uVar7 + uVar5" identifier + identifier) < (subscript_expression "puVar22[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }" { (labeled_statement "LAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd50))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd50)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd50)" * (cast_expression "(code **)(pcVar26 + 0x35bd50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd50)" ( (binary_expression "pcVar26 + 0x35bd50" identifier + number_literal) ))))) )) (argument_list "(puVar22[0x3c] + uVar7,iVar9,uVar5)" ( (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" identifier [ number_literal ]) + identifier) , identifier , identifier ))) ;)) (expression_statement "uVar7 = uVar5 + puVar22[9];" (assignment_expression "uVar7 = uVar5 + puVar22[9]" identifier = (binary_expression "uVar5 + puVar22[9]" identifier + (subscript_expression "puVar22[9]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f)" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (parenthesized_expression "((int)uVar5 >> 0x1f)" ( (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" if (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" ( (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" ( (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" ( (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" identifier == number_literal) && (parenthesized_expression "(uVar7 < *puVar22)" ( (binary_expression "uVar7 < *puVar22" identifier < (pointer_expression "*puVar22" * identifier)) ))) )) ))) )) (compound_statement "{\n                      piVar12 = (int *)0x1;\n                    }" { (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" else (compound_statement "{\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" else (compound_statement "{\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" { (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bdf8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bdf8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35bdf8)" * (cast_expression "(code **)(pcVar26 + 0x35bdf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bdf8)" ( (binary_expression "pcVar26 + 0x35bdf8" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);" (assignment_expression "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" identifier = (call_expression "(*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar7 + uVar5" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + identifier) )))) ;) (if_statement "if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" { (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0004da64;" goto statement_identifier ;) })) (expression_statement "piVar12 = (int *)(uint)(uVar5 == 0);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == 0)" identifier = (cast_expression "(int *)(uint)(uVar5 == 0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar5 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) ))))) ;) }))) }) (else_clause "else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" else (compound_statement "{\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" { (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c38c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c38c)" * (pointer_expression "*(code **)(pcVar26 + 0x35c38c)" * (cast_expression "(code **)(pcVar26 + 0x35c38c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c38c)" ( (binary_expression "pcVar26 + 0x35c38c" identifier + number_literal) ))))) )) (argument_list "(piVar16,uVar5,iVar9)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar12 = (int *)(uint)(uVar5 == uVar7);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == uVar7)" identifier = (cast_expression "(int *)(uint)(uVar5 == uVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar5 == uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 == uVar7)" ( (binary_expression "uVar5 == uVar7" identifier == identifier) ))))) ;) }))) })) (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" identifier = (binary_expression "iVar20 + 0x25f0" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;" statement_identifier : (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" identifier = (binary_expression "iVar20 + 0x25f0" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004dd2c;" goto statement_identifier ;) })) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bb54))(iVar1);" (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" * (cast_expression "(code **)(pcVar26 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb54)" ( (binary_expression "pcVar26 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }))) }))) }))) (labeled_statement "LAB_0004d764:\n    iVar1 = iStack_3284;" statement_identifier : (expression_statement "iVar1 = iStack_3284;" (assignment_expression "iVar1 = iStack_3284" identifier = identifier) ;)) (if_statement "if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }" if (parenthesized_expression "(iStack_3284 == *piVar2)" ( (binary_expression "iStack_3284 == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n      return piVar12;\n    }" { (return_statement "return piVar12;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35ba5c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35ba5c)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35ba5c)" * (cast_expression "(code **)(pcVar26 + 0x35ba5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba5c)" ( (binary_expression "pcVar26 + 0x35ba5c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }" { (labeled_statement "LAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" statement_identifier : (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" ( (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" { (if_statement "if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x336c)" * (cast_expression "(int *)(iVar1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x336c)" ( (binary_expression "iVar1 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" { (labeled_statement "LAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" ( (binary_expression "*(int *)(pcVar26 + 0x35aabc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35aabc)" * (cast_expression "(int *)(pcVar26 + 0x35aabc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aabc)" ( (binary_expression "pcVar26 + 0x35aabc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004e038;" goto statement_identifier ;) })) (expression_statement "puVar22 = *(uint **)(iVar1 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar1 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar1 + 0x3348)" * (cast_expression "(uint **)(iVar1 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x3348)" ( (binary_expression "iVar1 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4);" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" ( (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x21c8" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004e014;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[0x10];" (assignment_expression "uVar5 = puVar22[0x10]" identifier = (subscript_expression "puVar22[0x10]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" { (if_statement "if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" if (parenthesized_expression "(uVar5 - 1 < 3)" ( (binary_expression "uVar5 - 1 < 3" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35afcc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35afcc)" * (pointer_expression "*(code **)(pcVar26 + 0x35afcc)" * (cast_expression "(code **)(pcVar26 + 0x35afcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35afcc)" ( (binary_expression "pcVar26 + 0x35afcc" identifier + number_literal) ))))) )) (argument_list "(uVar17,puVar22[0x11])" ( identifier , (subscript_expression "puVar22[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar1 != -1) {\n          return (int *)0x1;\n        }" if (parenthesized_expression "(iVar1 != -1)" ( (binary_expression "iVar1 != -1" identifier != number_literal) )) (compound_statement "{\n          return (int *)0x1;\n        }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35aef0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35aef0)" * (pointer_expression "*(code **)(pcVar26 + 0x35aef0)" * (cast_expression "(code **)(pcVar26 + 0x35aef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35aef0)" ( (binary_expression "pcVar26 + 0x35aef0" identifier + number_literal) ))))) )) (argument_list "(puVar22[0x11])" ( (subscript_expression "puVar22[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar1 == 0) {\n          return (int *)0x0;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          return (int *)0x0;\n        }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" if (parenthesized_expression "(puVar22[0xe] == 0)" ( (binary_expression "puVar22[0xe] == 0" (subscript_expression "puVar22[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" { (expression_statement "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))()" identifier = (cast_expression "(uint *)(**(code **)(pcVar26 + 0x35bb84))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35bb84))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb84))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb84)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb84)" * (cast_expression "(code **)(pcVar26 + 0x35bb84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb84)" ( (binary_expression "pcVar26 + 0x35bb84" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }" if (parenthesized_expression "(*puVar10 != 0)" ( (binary_expression "*puVar10 != 0" (pointer_expression "*puVar10" * identifier) != number_literal) )) (compound_statement "{\n            puVar22[7] = *puVar10;\n          }" { (expression_statement "puVar22[7] = *puVar10;" (assignment_expression "puVar22[7] = *puVar10" (subscript_expression "puVar22[7]" identifier [ number_literal ]) = (pointer_expression "*puVar10" * identifier)) ;) })) })) (expression_statement "puVar22[0xe] = 1;" (assignment_expression "puVar22[0xe] = 1" (subscript_expression "puVar22[0xe]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" if (parenthesized_expression "(uVar5 != 7)" ( (binary_expression "uVar5 != 7" identifier != number_literal) )) (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" { (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35bb68))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35bb68))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb68))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb68)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb68)" * (cast_expression "(code **)(pcVar26 + 0x35bb68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb68)" ( (binary_expression "pcVar26 + 0x35bb68" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) })) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }" if (parenthesized_expression "((uint)(uVar5 < uVar7) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8] == 0" (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar5 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 < uVar7)" ( (binary_expression "uVar5 < uVar7" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }" { (if_statement "if (uVar5 < puVar22[1]) goto LAB_0004dee0;" if (parenthesized_expression "(uVar5 < puVar22[1])" ( (binary_expression "uVar5 < puVar22[1]" identifier < (subscript_expression "puVar22[1]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0004dee0;" goto statement_identifier ;)) (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar7 = puVar22[2];\n      }" else (compound_statement "{\n        uVar7 = puVar22[2];\n      }" { (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35b5d4);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35b5d4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35b5d4)" * (cast_expression "(code **)(pcVar26 + 0x35b5d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b5d4)" ( (binary_expression "pcVar26 + 0x35b5d4" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (expression_statement "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);" (assignment_expression "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" identifier = (call_expression "(*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar7 + 1" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n        return (int *)0x0;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return (int *)0x0;\n      }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" statement_identifier : (expression_statement "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" (assignment_expression "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17" (pointer_expression "*(undefined1 *)(puVar22[0x3c] + uVar7)" * (cast_expression "(undefined1 *)(puVar22[0x3c] + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[0x3c] + uVar7)" ( (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" identifier [ number_literal ]) + identifier) )))) = identifier) ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 1;" (assignment_expression "uVar7 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" if (parenthesized_expression "((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7))))" ( (binary_expression "(-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))" (parenthesized_expression "(-1 < (int)uVar5)" ( (binary_expression "-1 < (int)uVar5" number_literal < (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((uVar5 != 0 || (*puVar22 <= uVar7)))" ( (parenthesized_expression "(uVar5 != 0 || (*puVar22 <= uVar7))" ( (binary_expression "uVar5 != 0 || (*puVar22 <= uVar7)" (binary_expression "uVar5 != 0" identifier != number_literal) || (parenthesized_expression "(*puVar22 <= uVar7)" ( (binary_expression "*puVar22 <= uVar7" (pointer_expression "*puVar22" * identifier) <= identifier) ))) )) ))) )) (compound_statement "{\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35b7dc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35b7dc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);" (call_expression "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" ( identifier , identifier , number_literal , (binary_expression "iVar6 + 0x21c8" identifier + number_literal) ))) ;) (expression_statement "piVar12 = *(int **)(pcVar24 + 0x35b1b4);" (assignment_expression "piVar12 = *(int **)(pcVar24 + 0x35b1b4)" identifier = (pointer_expression "*(int **)(pcVar24 + 0x35b1b4)" * (cast_expression "(int **)(pcVar24 + 0x35b1b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b1b4)" ( (binary_expression "pcVar24 + 0x35b1b4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" { (if_statement "if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" if (parenthesized_expression "(*(int *)(iVar20 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar20 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar20 + 0x336c)" * (cast_expression "(int *)(iVar20 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x336c)" ( (binary_expression "iVar20 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" { (expression_statement "puVar22 = *(uint **)(iVar20 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar20 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar20 + 0x3348)" * (cast_expression "(uint **)(iVar20 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x3348)" ( (binary_expression "iVar20 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" if (parenthesized_expression "(*(int *)(iVar20 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar20 + 0x25c) == 1" (pointer_expression "*(int *)(iVar20 + 0x25c)" * (cast_expression "(int *)(iVar20 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x25c)" ( (binary_expression "iVar20 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" { (expression_statement "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));" (assignment_expression "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" identifier = (call_expression "CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" identifier (argument_list "(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" ( (call_expression "CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" identifier (argument_list "(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" ( (call_expression "CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8))" identifier (argument_list "((char)iVar1,(char)((uint)iVar1 >> 8))" ( (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) , (cast_expression "(char)((uint)iVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 8)" ( (binary_expression "(uint)iVar1 >> 8" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar1 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 0x10)" ( (binary_expression "(uint)iVar1 >> 0x10" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar1 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 0x18)" ( (binary_expression "(uint)iVar1 >> 0x18" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004e2cc;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] == 0) goto LAB_0004e2a8;" if (parenthesized_expression "(puVar22[0x10] == 0)" ( (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004e2a8;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar22[0x10] != 7)" ( (binary_expression "puVar22[0x10] != 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" identifier = (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b918)" * (pointer_expression "*(code **)(pcVar24 + 0x35b918)" * (cast_expression "(code **)(pcVar24 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b918)" ( (binary_expression "pcVar24 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (if_statement "if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" if (parenthesized_expression "(((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0))" ( (binary_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) && (parenthesized_expression "(uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" ( (comma_expression "uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0" (assignment_expression "uVar7 = (uint)(uVar7 < puVar22[1])" identifier = (call_expression "(uint)(uVar7 < puVar22[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < puVar22[1])" ( (binary_expression "uVar7 < puVar22[1]" identifier < (subscript_expression "puVar22[1]" identifier [ number_literal ])) )))) , (binary_expression "uVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          uVar7 = puVar22[0x3c];\n        }" { (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" else (compound_statement "{\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35b384)" * (cast_expression "(code **)(pcVar24 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b384)" ( (binary_expression "pcVar24 + 0x35b384" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar5 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" identifier = (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar20 == 0) goto LAB_0004e2a0;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004e2a0;" goto statement_identifier ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;" statement_identifier : (expression_statement "*(int *)(uVar7 + uVar5) = iVar1;" (assignment_expression "*(int *)(uVar7 + uVar5) = iVar1" (pointer_expression "*(int *)(uVar7 + uVar5)" * (cast_expression "(int *)(uVar7 + uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + uVar5)" ( (binary_expression "uVar7 + uVar5" identifier + identifier) )))) = identifier) ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" if (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" ( (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" ( (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" ( (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" identifier == number_literal) && (parenthesized_expression "(uVar7 < *puVar22)" ( (binary_expression "uVar7 < *puVar22" identifier < (pointer_expression "*puVar22" * identifier)) ))) )) ))) )) (compound_statement "{\n          piVar2 = (int *)&DAT_00000004;\n        }" { (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) }) (else_clause "else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" else (compound_statement "{\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) }))) (labeled_statement "LAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }" statement_identifier : (if_statement "if (iVar6 == *piVar12) {\n          return piVar2;\n        }" if (parenthesized_expression "(iVar6 == *piVar12)" ( (binary_expression "iVar6 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n          return piVar2;\n        }" { (return_statement "return piVar2;" return identifier ;) }))) (goto_statement "goto LAB_0004e338;" goto statement_identifier ;) })) (if_statement "if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" if (parenthesized_expression "(puVar22 != (uint *)0x0)" ( (binary_expression "puVar22 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" { (if_statement "if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar22[0x10] != 0)" ( (binary_expression "puVar22[0x10] != 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (if_statement "if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" if (parenthesized_expression "(puVar22[0x10] == 7)" ( (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" { (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" if (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }" { (if_statement "if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" if (parenthesized_expression "(puVar22[1] <= uVar7)" ( (binary_expression "puVar22[1] <= uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004e128;" goto statement_identifier ;) })) }) (else_clause "else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" else (compound_statement "{\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35b384)" * (cast_expression "(code **)(pcVar24 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b384)" ( (binary_expression "pcVar24 + 0x35b384" identifier + number_literal) ))))) ;)) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar5 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" identifier = (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" { (labeled_statement "LAB_0004e2a0:\n                piVar2 = (int *)0x0;" statement_identifier : (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0004e15c;" goto statement_identifier ;) })) (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" identifier = (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b918)" * (pointer_expression "*(code **)(pcVar24 + 0x35b918)" * (cast_expression "(code **)(pcVar24 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b918)" ( (binary_expression "pcVar24 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (labeled_statement "LAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar24 + 0x35a86c) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35a86c)" * (cast_expression "(int *)(pcVar24 + 0x35a86c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a86c)" ( (binary_expression "pcVar24 + 0x35a86c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35afe8);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35afe8)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35afe8)" * (cast_expression "(code **)(pcVar24 + 0x35afe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35afe8)" ( (binary_expression "pcVar24 + 0x35afe8" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35ac94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35ac94))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ac94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ac94)" * (pointer_expression "*(code **)(pcVar26 + 0x35ac94)" * (cast_expression "(code **)(pcVar26 + 0x35ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ac94)" ( (binary_expression "pcVar26 + 0x35ac94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) (labeled_statement "LAB_0004d1b4:\n  *unaff_s7 = uVar7;" statement_identifier : (expression_statement "*unaff_s7 = uVar7;" (assignment_expression "*unaff_s7 = uVar7" (pointer_expression "*unaff_s7" * identifier) = identifier) ;)) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x0004c948) */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n\nvoid * ImageToBlob(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  Image *pIVar5;\n  undefined4 uVar6;\n  void *pvVar7;\n  Image *pIVar8;\n  FILE *pFVar9;\n  StreamType SVar10;\n  uint uVar11;\n  int *piVar12;\n  uint uVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int *piVar16;\n  size_t sVar17;\n  uint *puVar18;\n  undefined1 *puVar19;\n  BlobInfo *pBVar20;\n  Image *pIVar21;\n  Image *pIVar22;\n  ImageInfo *pIVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  size_t *psVar26;\n  ExceptionInfo *pEVar27;\n  undefined *puVar28;\n  ExceptionInfo *pEVar29;\n  int iVar30;\n  Image *unaff_s0;\n  uint *puVar31;\n  Image *unaff_s1;\n  ImageInfo *unaff_s2;\n  ExceptionInfo *unaff_s3;\n  ExceptionInfo *pEVar32;\n  size_t *unaff_s5;\n  char *unaff_s6;\n  BlobInfo *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  uint unaff_s8;\n  code *pcVar36;\n  ulonglong uVar37;\n  longlong lVar38;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  Image *pIStack_3280;\n  Image *pIStack_327c;\n  ImageInfo *pIStack_3278;\n  ExceptionInfo *pEStack_3274;\n  ExceptionInfo *pEStack_3270;\n  size_t *psStack_326c;\n  char *pcStack_3268;\n  BlobInfo *pBStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  ImageInfo *pIStack_3244;\n  int iStack_3240;\n  ImageInfo *pIStack_323c;\n  Image *pIStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  ExceptionInfo *pEStack_321c;\n  ExceptionInfo *pEStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  ExceptionInfo *pEStack_31d4;\n  int iStack_316c;\n  Image *pIStack_3168;\n  Image *pIStack_3164;\n  ImageInfo *pIStack_3160;\n  ExceptionInfo *pEStack_315c;\n  ExceptionInfo *pEStack_3158;\n  size_t *psStack_3154;\n  char *pcStack_3150;\n  BlobInfo *pBStack_314c;\n  undefined1 auStack_308c [4096];\n  char acStack_208c [4096];\n  ExceptionType EStack_108c;\n  Image *pIStack_1084;\n  Image *pIStack_1080;\n  ImageInfo *pIStack_107c;\n  ExceptionInfo *pEStack_1078;\n  undefined *puStack_1074;\n  size_t *psStack_1070;\n  char *pcStack_106c;\n  BlobInfo *pBStack_1068;\n  code *pcStack_1064;\n  BlobInfo *local_1050;\n  char *local_104c;\n  undefined *local_1048;\n  char *local_1044;\n  Image *local_1040;\n  char unique [4096];\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\nLAB_0004c02c:\n    length = unaff_s5;\n    exception = unaff_s3;\n    puVar28 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  psVar26 = (size_t *)&DAT_000007f9;\n  pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520);\n  pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8);\n  pcVar36 = ImagesToBlob;\n  pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar33 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar1;\n  pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0);\n  EStack_108c = pEVar32->severity;\n  pIStack_1084 = unaff_s0;\n  pIStack_1080 = unaff_s1;\n  pIStack_107c = unaff_s2;\n  pEStack_1078 = exception;\n  psStack_1070 = length;\n  pcStack_106c = unaff_s6;\n  pBStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar36;\n  if (pIVar5 != (Image *)0x0) {\n    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }\n    (**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);\n    unaff_s1 = pIVar5;\n  }\n  pEVar27 = (ExceptionInfo *)0x982;\n  pcVar36 = *(code **)(puVar33 + 0x35d598);\n  pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4);\n  pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78);\n  (*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8);\n  if (pIVar5 == (Image *)0x0) {\nLAB_0004ca88:\n    pIVar5 = unaff_s0;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pEVar27 = pEVar32;\n    pEVar29 = exception;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }\n  pEVar32 = (ExceptionInfo *)&DAT_000013e9;\n  pcVar34 = *(code **)(pcVar36 + 0x35cfdc);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8);\n  pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10);\n  (*pcVar34)();\n  if (pIVar22 == (Image *)0x0) {\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);\n    pIVar22 = unaff_s1;\nLAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);\nLAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }\n  uVar6 = 0x15f3;\n  pcVar35 = *(code **)(pcVar34 + 0x35cb14);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8);\n  pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8);\n  (*pcVar35)();\n  pcVar36 = pcVar35 + 0x363930;\n  piStack_3224 = *(int **)(pcVar35 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  pIVar8 = pIVar22;\n  pcStack_3230 = pcVar36;\n  uStack_3220 = uVar6;\n  pIStack_3168 = pIVar5;\n  pIStack_3164 = pIVar22;\n  pIStack_3160 = unaff_s2;\n  pEStack_315c = pEVar29;\n  pEStack_3158 = pEVar27;\n  psStack_3154 = length;\n  pcStack_3150 = unaff_s6;\n  pBStack_314c = unaff_s7;\n  if (pIVar21 == (Image *)0x0) {\nLAB_0004d5d8:\n    pIVar23 = unaff_s2;\n    pIVar21 = pIVar5;\n    pEVar32 = (ExceptionInfo *)0x664;\n    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;\n    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);\n    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar36 + -0x72a8))();\n  }\n  else {\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x784c);\n  pcVar34 = InjectImageBlob;\n  (*pcVar36)();\n  iVar3 = iStack_3248;\n  piVar12 = *(int **)(pcVar36 + 0x35bc28);\n  iStack_3284 = *piVar12;\n  pIStack_3280 = pIVar21;\n  pIStack_327c = pIVar8;\n  pIStack_3278 = pIVar23;\n  pEStack_3274 = pEVar29;\n  pEStack_3270 = pEVar27;\n  psStack_326c = length;\n  pcStack_3268 = unaff_s6;\n  pBStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar34;\n  if (iVar2 == 0) {\nLAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n    uVar25 = (undefined1)iVar3;\n  }\n  else {\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + 0x35ba5c);\n  (*pcVar36)();\n  if (iVar2 == 0) {\nLAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);\n  }\n  else {\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }\n  pcVar34 = *(code **)(pcVar36 + 0x35b7dc);\n  iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8;\n  iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10;\n  (*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8);\n  piVar12 = *(int **)(pcVar34 + 0x35b1b4);\n  iVar3 = *piVar12;\n  if (iVar30 != 0) {\n    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar34 + 0x35b58c))\n            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar36 = *(code **)(pcVar34 + 0x35afe8);\n  (*pcVar36)();\n                    /* WARNING: Could not recover jumptable at 0x0004e354. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))();\n  return pvVar7;\nLAB_0004d1b4:\n  unaff_s7->length = uVar13;\n  goto LAB_0004d0d0;\n}\n\n" comment comment comment comment comment comment (function_definition "void * ImageToBlob(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  Image *pIVar5;\n  undefined4 uVar6;\n  void *pvVar7;\n  Image *pIVar8;\n  FILE *pFVar9;\n  StreamType SVar10;\n  uint uVar11;\n  int *piVar12;\n  uint uVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int *piVar16;\n  size_t sVar17;\n  uint *puVar18;\n  undefined1 *puVar19;\n  BlobInfo *pBVar20;\n  Image *pIVar21;\n  Image *pIVar22;\n  ImageInfo *pIVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  size_t *psVar26;\n  ExceptionInfo *pEVar27;\n  undefined *puVar28;\n  ExceptionInfo *pEVar29;\n  int iVar30;\n  Image *unaff_s0;\n  uint *puVar31;\n  Image *unaff_s1;\n  ImageInfo *unaff_s2;\n  ExceptionInfo *unaff_s3;\n  ExceptionInfo *pEVar32;\n  size_t *unaff_s5;\n  char *unaff_s6;\n  BlobInfo *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  uint unaff_s8;\n  code *pcVar36;\n  ulonglong uVar37;\n  longlong lVar38;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  Image *pIStack_3280;\n  Image *pIStack_327c;\n  ImageInfo *pIStack_3278;\n  ExceptionInfo *pEStack_3274;\n  ExceptionInfo *pEStack_3270;\n  size_t *psStack_326c;\n  char *pcStack_3268;\n  BlobInfo *pBStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  ImageInfo *pIStack_3244;\n  int iStack_3240;\n  ImageInfo *pIStack_323c;\n  Image *pIStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  ExceptionInfo *pEStack_321c;\n  ExceptionInfo *pEStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  ExceptionInfo *pEStack_31d4;\n  int iStack_316c;\n  Image *pIStack_3168;\n  Image *pIStack_3164;\n  ImageInfo *pIStack_3160;\n  ExceptionInfo *pEStack_315c;\n  ExceptionInfo *pEStack_3158;\n  size_t *psStack_3154;\n  char *pcStack_3150;\n  BlobInfo *pBStack_314c;\n  undefined1 auStack_308c [4096];\n  char acStack_208c [4096];\n  ExceptionType EStack_108c;\n  Image *pIStack_1084;\n  Image *pIStack_1080;\n  ImageInfo *pIStack_107c;\n  ExceptionInfo *pEStack_1078;\n  undefined *puStack_1074;\n  size_t *psStack_1070;\n  char *pcStack_106c;\n  BlobInfo *pBStack_1068;\n  code *pcStack_1064;\n  BlobInfo *local_1050;\n  char *local_104c;\n  undefined *local_1048;\n  char *local_1044;\n  Image *local_1040;\n  char unique [4096];\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\nLAB_0004c02c:\n    length = unaff_s5;\n    exception = unaff_s3;\n    puVar28 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  psVar26 = (size_t *)&DAT_000007f9;\n  pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520);\n  pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8);\n  pcVar36 = ImagesToBlob;\n  pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar33 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar1;\n  pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0);\n  EStack_108c = pEVar32->severity;\n  pIStack_1084 = unaff_s0;\n  pIStack_1080 = unaff_s1;\n  pIStack_107c = unaff_s2;\n  pEStack_1078 = exception;\n  psStack_1070 = length;\n  pcStack_106c = unaff_s6;\n  pBStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar36;\n  if (pIVar5 != (Image *)0x0) {\n    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }\n    (**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);\n    unaff_s1 = pIVar5;\n  }\n  pEVar27 = (ExceptionInfo *)0x982;\n  pcVar36 = *(code **)(puVar33 + 0x35d598);\n  pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4);\n  pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78);\n  (*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8);\n  if (pIVar5 == (Image *)0x0) {\nLAB_0004ca88:\n    pIVar5 = unaff_s0;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pEVar27 = pEVar32;\n    pEVar29 = exception;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }\n  pEVar32 = (ExceptionInfo *)&DAT_000013e9;\n  pcVar34 = *(code **)(pcVar36 + 0x35cfdc);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8);\n  pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10);\n  (*pcVar34)();\n  if (pIVar22 == (Image *)0x0) {\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);\n    pIVar22 = unaff_s1;\nLAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);\nLAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }\n  uVar6 = 0x15f3;\n  pcVar35 = *(code **)(pcVar34 + 0x35cb14);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8);\n  pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8);\n  (*pcVar35)();\n  pcVar36 = pcVar35 + 0x363930;\n  piStack_3224 = *(int **)(pcVar35 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  pIVar8 = pIVar22;\n  pcStack_3230 = pcVar36;\n  uStack_3220 = uVar6;\n  pIStack_3168 = pIVar5;\n  pIStack_3164 = pIVar22;\n  pIStack_3160 = unaff_s2;\n  pEStack_315c = pEVar29;\n  pEStack_3158 = pEVar27;\n  psStack_3154 = length;\n  pcStack_3150 = unaff_s6;\n  pBStack_314c = unaff_s7;\n  if (pIVar21 == (Image *)0x0) {\nLAB_0004d5d8:\n    pIVar23 = unaff_s2;\n    pIVar21 = pIVar5;\n    pEVar32 = (ExceptionInfo *)0x664;\n    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;\n    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);\n    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar36 + -0x72a8))();\n  }\n  else {\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x784c);\n  pcVar34 = InjectImageBlob;\n  (*pcVar36)();\n  iVar3 = iStack_3248;\n  piVar12 = *(int **)(pcVar36 + 0x35bc28);\n  iStack_3284 = *piVar12;\n  pIStack_3280 = pIVar21;\n  pIStack_327c = pIVar8;\n  pIStack_3278 = pIVar23;\n  pEStack_3274 = pEVar29;\n  pEStack_3270 = pEVar27;\n  psStack_326c = length;\n  pcStack_3268 = unaff_s6;\n  pBStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar34;\n  if (iVar2 == 0) {\nLAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n    uVar25 = (undefined1)iVar3;\n  }\n  else {\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + 0x35ba5c);\n  (*pcVar36)();\n  if (iVar2 == 0) {\nLAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);\n  }\n  else {\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }\n  pcVar34 = *(code **)(pcVar36 + 0x35b7dc);\n  iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8;\n  iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10;\n  (*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8);\n  piVar12 = *(int **)(pcVar34 + 0x35b1b4);\n  iVar3 = *piVar12;\n  if (iVar30 != 0) {\n    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar34 + 0x35b58c))\n            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar36 = *(code **)(pcVar34 + 0x35afe8);\n  (*pcVar36)();\n                    /* WARNING: Could not recover jumptable at 0x0004e354. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))();\n  return pvVar7;\nLAB_0004d1b4:\n  unaff_s7->length = uVar13;\n  goto LAB_0004d0d0;\n}" primitive_type (pointer_declarator "* ImageToBlob(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)" * (function_declarator "ImageToBlob(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,Image *image,size_t *length,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "size_t *length" primitive_type (pointer_declarator "*length" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int iVar3;\n  char *pcVar4;\n  Image *pIVar5;\n  undefined4 uVar6;\n  void *pvVar7;\n  Image *pIVar8;\n  FILE *pFVar9;\n  StreamType SVar10;\n  uint uVar11;\n  int *piVar12;\n  uint uVar13;\n  undefined4 *puVar14;\n  int iVar15;\n  int *piVar16;\n  size_t sVar17;\n  uint *puVar18;\n  undefined1 *puVar19;\n  BlobInfo *pBVar20;\n  Image *pIVar21;\n  Image *pIVar22;\n  ImageInfo *pIVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  size_t *psVar26;\n  ExceptionInfo *pEVar27;\n  undefined *puVar28;\n  ExceptionInfo *pEVar29;\n  int iVar30;\n  Image *unaff_s0;\n  uint *puVar31;\n  Image *unaff_s1;\n  ImageInfo *unaff_s2;\n  ExceptionInfo *unaff_s3;\n  ExceptionInfo *pEVar32;\n  size_t *unaff_s5;\n  char *unaff_s6;\n  BlobInfo *unaff_s7;\n  undefined *puVar33;\n  code *pcVar34;\n  code *pcVar35;\n  uint unaff_s8;\n  code *pcVar36;\n  ulonglong uVar37;\n  longlong lVar38;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  Image *pIStack_3280;\n  Image *pIStack_327c;\n  ImageInfo *pIStack_3278;\n  ExceptionInfo *pEStack_3274;\n  ExceptionInfo *pEStack_3270;\n  size_t *psStack_326c;\n  char *pcStack_3268;\n  BlobInfo *pBStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  ImageInfo *pIStack_3244;\n  int iStack_3240;\n  ImageInfo *pIStack_323c;\n  Image *pIStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  ExceptionInfo *pEStack_321c;\n  ExceptionInfo *pEStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  ExceptionInfo *pEStack_31d4;\n  int iStack_316c;\n  Image *pIStack_3168;\n  Image *pIStack_3164;\n  ImageInfo *pIStack_3160;\n  ExceptionInfo *pEStack_315c;\n  ExceptionInfo *pEStack_3158;\n  size_t *psStack_3154;\n  char *pcStack_3150;\n  BlobInfo *pBStack_314c;\n  undefined1 auStack_308c [4096];\n  char acStack_208c [4096];\n  ExceptionType EStack_108c;\n  Image *pIStack_1084;\n  Image *pIStack_1080;\n  ImageInfo *pIStack_107c;\n  ExceptionInfo *pEStack_1078;\n  undefined *puStack_1074;\n  size_t *psStack_1070;\n  char *pcStack_106c;\n  BlobInfo *pBStack_1068;\n  code *pcStack_1064;\n  BlobInfo *local_1050;\n  char *local_104c;\n  undefined *local_1048;\n  char *local_1044;\n  Image *local_1040;\n  char unique [4096];\n  \n  puVar1 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image_info == (ImageInfo *)0x0) {\nLAB_0004c02c:\n    length = unaff_s5;\n    exception = unaff_s3;\n    puVar28 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  psVar26 = (size_t *)&DAT_000007f9;\n  pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520);\n  pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8);\n  pcVar36 = ImagesToBlob;\n  pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar33 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar1;\n  pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0);\n  EStack_108c = pEVar32->severity;\n  pIStack_1084 = unaff_s0;\n  pIStack_1080 = unaff_s1;\n  pIStack_107c = unaff_s2;\n  pEStack_1078 = exception;\n  psStack_1070 = length;\n  pcStack_106c = unaff_s6;\n  pBStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar36;\n  if (pIVar5 != (Image *)0x0) {\n    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }\n    (**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);\n    unaff_s1 = pIVar5;\n  }\n  pEVar27 = (ExceptionInfo *)0x982;\n  pcVar36 = *(code **)(puVar33 + 0x35d598);\n  pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4);\n  pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78);\n  (*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8);\n  if (pIVar5 == (Image *)0x0) {\nLAB_0004ca88:\n    pIVar5 = unaff_s0;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pEVar27 = pEVar32;\n    pEVar29 = exception;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }\n  pEVar32 = (ExceptionInfo *)&DAT_000013e9;\n  pcVar34 = *(code **)(pcVar36 + 0x35cfdc);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8);\n  pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10);\n  (*pcVar34)();\n  if (pIVar22 == (Image *)0x0) {\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);\n    pIVar22 = unaff_s1;\nLAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);\nLAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }\n  uVar6 = 0x15f3;\n  pcVar35 = *(code **)(pcVar34 + 0x35cb14);\n  pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8);\n  pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8);\n  (*pcVar35)();\n  pcVar36 = pcVar35 + 0x363930;\n  piStack_3224 = *(int **)(pcVar35 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  pIVar8 = pIVar22;\n  pcStack_3230 = pcVar36;\n  uStack_3220 = uVar6;\n  pIStack_3168 = pIVar5;\n  pIStack_3164 = pIVar22;\n  pIStack_3160 = unaff_s2;\n  pEStack_315c = pEVar29;\n  pEStack_3158 = pEVar27;\n  psStack_3154 = length;\n  pcStack_3150 = unaff_s6;\n  pBStack_314c = unaff_s7;\n  if (pIVar21 == (Image *)0x0) {\nLAB_0004d5d8:\n    pIVar23 = unaff_s2;\n    pIVar21 = pIVar5;\n    pEVar32 = (ExceptionInfo *)0x664;\n    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;\n    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);\n    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar36 + -0x72a8))();\n  }\n  else {\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + -0x784c);\n  pcVar34 = InjectImageBlob;\n  (*pcVar36)();\n  iVar3 = iStack_3248;\n  piVar12 = *(int **)(pcVar36 + 0x35bc28);\n  iStack_3284 = *piVar12;\n  pIStack_3280 = pIVar21;\n  pIStack_327c = pIVar8;\n  pIStack_3278 = pIVar23;\n  pEStack_3274 = pEVar29;\n  pEStack_3270 = pEVar27;\n  psStack_326c = length;\n  pcStack_3268 = unaff_s6;\n  pBStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar34;\n  if (iVar2 == 0) {\nLAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n    uVar25 = (undefined1)iVar3;\n  }\n  else {\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }\n  pcVar36 = *(code **)(pcVar36 + 0x35ba5c);\n  (*pcVar36)();\n  if (iVar2 == 0) {\nLAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);\n  }\n  else {\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }\n  pcVar34 = *(code **)(pcVar36 + 0x35b7dc);\n  iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8;\n  iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10;\n  (*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8);\n  piVar12 = *(int **)(pcVar34 + 0x35b1b4);\n  iVar3 = *piVar12;\n  if (iVar30 != 0) {\n    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar34 + 0x35b58c))\n            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar36 = *(code **)(pcVar34 + 0x35afe8);\n  (*pcVar36)();\n                    /* WARNING: Could not recover jumptable at 0x0004e354. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))();\n  return pvVar7;\nLAB_0004d1b4:\n  unaff_s7->length = uVar13;\n  goto LAB_0004d0d0;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "Image *pIVar5;" type_identifier (pointer_declarator "*pIVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "void *pvVar7;" primitive_type (pointer_declarator "*pvVar7" * identifier) ;) (declaration "Image *pIVar8;" type_identifier (pointer_declarator "*pIVar8" * identifier) ;) (declaration "FILE *pFVar9;" type_identifier (pointer_declarator "*pFVar9" * identifier) ;) (declaration "StreamType SVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "BlobInfo *pBVar20;" type_identifier (pointer_declarator "*pBVar20" * identifier) ;) (declaration "Image *pIVar21;" type_identifier (pointer_declarator "*pIVar21" * identifier) ;) (declaration "Image *pIVar22;" type_identifier (pointer_declarator "*pIVar22" * identifier) ;) (declaration "ImageInfo *pIVar23;" type_identifier (pointer_declarator "*pIVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "size_t *psVar26;" primitive_type (pointer_declarator "*psVar26" * identifier) ;) (declaration "ExceptionInfo *pEVar27;" type_identifier (pointer_declarator "*pEVar27" * identifier) ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "ExceptionInfo *pEVar29;" type_identifier (pointer_declarator "*pEVar29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "Image *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "uint *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "Image *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "ImageInfo *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "ExceptionInfo *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "ExceptionInfo *pEVar32;" type_identifier (pointer_declarator "*pEVar32" * identifier) ;) (declaration "size_t *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "char *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "BlobInfo *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "uint unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar36;" type_identifier (pointer_declarator "*pcVar36" * identifier) ;) (declaration "ulonglong uVar37;" type_identifier identifier ;) (declaration "longlong lVar38;" type_identifier identifier ;) (declaration "uint uStack_4330;" type_identifier identifier ;) (declaration "undefined1 auStack_4328 [56];" type_identifier (array_declarator "auStack_4328 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_42f0;" primitive_type identifier ;) (declaration "uint uStack_42ec;" type_identifier identifier ;) (declaration "undefined1 auStack_4284 [4096];" type_identifier (array_declarator "auStack_4284 [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_3284;" primitive_type identifier ;) (declaration "Image *pIStack_3280;" type_identifier (pointer_declarator "*pIStack_3280" * identifier) ;) (declaration "Image *pIStack_327c;" type_identifier (pointer_declarator "*pIStack_327c" * identifier) ;) (declaration "ImageInfo *pIStack_3278;" type_identifier (pointer_declarator "*pIStack_3278" * identifier) ;) (declaration "ExceptionInfo *pEStack_3274;" type_identifier (pointer_declarator "*pEStack_3274" * identifier) ;) (declaration "ExceptionInfo *pEStack_3270;" type_identifier (pointer_declarator "*pEStack_3270" * identifier) ;) (declaration "size_t *psStack_326c;" primitive_type (pointer_declarator "*psStack_326c" * identifier) ;) (declaration "char *pcStack_3268;" primitive_type (pointer_declarator "*pcStack_3268" * identifier) ;) (declaration "BlobInfo *pBStack_3264;" type_identifier (pointer_declarator "*pBStack_3264" * identifier) ;) (declaration "uint uStack_3260;" type_identifier identifier ;) (declaration "code *pcStack_325c;" type_identifier (pointer_declarator "*pcStack_325c" * identifier) ;) (declaration "int iStack_3248;" primitive_type identifier ;) (declaration "ImageInfo *pIStack_3244;" type_identifier (pointer_declarator "*pIStack_3244" * identifier) ;) (declaration "int iStack_3240;" primitive_type identifier ;) (declaration "ImageInfo *pIStack_323c;" type_identifier (pointer_declarator "*pIStack_323c" * identifier) ;) (declaration "Image *pIStack_3238;" type_identifier (pointer_declarator "*pIStack_3238" * identifier) ;) (declaration "code *pcStack_3230;" type_identifier (pointer_declarator "*pcStack_3230" * identifier) ;) (declaration "int *piStack_3224;" primitive_type (pointer_declarator "*piStack_3224" * identifier) ;) (declaration "undefined4 uStack_3220;" type_identifier identifier ;) (declaration "ExceptionInfo *pEStack_321c;" type_identifier (pointer_declarator "*pEStack_321c" * identifier) ;) (declaration "ExceptionInfo *pEStack_3218;" type_identifier (pointer_declarator "*pEStack_3218" * identifier) ;) (declaration "uint uStack_3214;" type_identifier identifier ;) (declaration "undefined1 auStack_3210 [56];" type_identifier (array_declarator "auStack_3210 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_31d8;" primitive_type identifier ;) (declaration "ExceptionInfo *pEStack_31d4;" type_identifier (pointer_declarator "*pEStack_31d4" * identifier) ;) (declaration "int iStack_316c;" primitive_type identifier ;) (declaration "Image *pIStack_3168;" type_identifier (pointer_declarator "*pIStack_3168" * identifier) ;) (declaration "Image *pIStack_3164;" type_identifier (pointer_declarator "*pIStack_3164" * identifier) ;) (declaration "ImageInfo *pIStack_3160;" type_identifier (pointer_declarator "*pIStack_3160" * identifier) ;) (declaration "ExceptionInfo *pEStack_315c;" type_identifier (pointer_declarator "*pEStack_315c" * identifier) ;) (declaration "ExceptionInfo *pEStack_3158;" type_identifier (pointer_declarator "*pEStack_3158" * identifier) ;) (declaration "size_t *psStack_3154;" primitive_type (pointer_declarator "*psStack_3154" * identifier) ;) (declaration "char *pcStack_3150;" primitive_type (pointer_declarator "*pcStack_3150" * identifier) ;) (declaration "BlobInfo *pBStack_314c;" type_identifier (pointer_declarator "*pBStack_314c" * identifier) ;) (declaration "undefined1 auStack_308c [4096];" type_identifier (array_declarator "auStack_308c [4096]" identifier [ number_literal ]) ;) (declaration "char acStack_208c [4096];" primitive_type (array_declarator "acStack_208c [4096]" identifier [ number_literal ]) ;) (declaration "ExceptionType EStack_108c;" type_identifier identifier ;) (declaration "Image *pIStack_1084;" type_identifier (pointer_declarator "*pIStack_1084" * identifier) ;) (declaration "Image *pIStack_1080;" type_identifier (pointer_declarator "*pIStack_1080" * identifier) ;) (declaration "ImageInfo *pIStack_107c;" type_identifier (pointer_declarator "*pIStack_107c" * identifier) ;) (declaration "ExceptionInfo *pEStack_1078;" type_identifier (pointer_declarator "*pEStack_1078" * identifier) ;) (declaration "undefined *puStack_1074;" type_identifier (pointer_declarator "*puStack_1074" * identifier) ;) (declaration "size_t *psStack_1070;" primitive_type (pointer_declarator "*psStack_1070" * identifier) ;) (declaration "char *pcStack_106c;" primitive_type (pointer_declarator "*pcStack_106c" * identifier) ;) (declaration "BlobInfo *pBStack_1068;" type_identifier (pointer_declarator "*pBStack_1068" * identifier) ;) (declaration "code *pcStack_1064;" type_identifier (pointer_declarator "*pcStack_1064" * identifier) ;) (declaration "BlobInfo *local_1050;" type_identifier (pointer_declarator "*local_1050" * identifier) ;) (declaration "char *local_104c;" primitive_type (pointer_declarator "*local_104c" * identifier) ;) (declaration "undefined *local_1048;" type_identifier (pointer_declarator "*local_1048" * identifier) ;) (declaration "char *local_1044;" primitive_type (pointer_declarator "*local_1044" * identifier) ;) (declaration "Image *local_1040;" type_identifier (pointer_declarator "*local_1040" * identifier) ;) (declaration "char unique [4096];" primitive_type (array_declarator "unique [4096]" identifier [ number_literal ]) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar1 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\nLAB_0004c02c:\n    length = unaff_s5;\n    exception = unaff_s3;\n    puVar28 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }" if (parenthesized_expression "(image_info == (ImageInfo *)0x0)" ( (binary_expression "image_info == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004c02c:\n    length = unaff_s5;\n    exception = unaff_s3;\n    puVar28 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }" { (labeled_statement "LAB_0004c02c:\n    length = unaff_s5;" statement_identifier : (expression_statement "length = unaff_s5;" (assignment_expression "length = unaff_s5" identifier = identifier) ;)) (expression_statement "exception = unaff_s3;" (assignment_expression "exception = unaff_s3" identifier = identifier) ;) (expression_statement "puVar28 = PTR_LAB_003a88e0 + 0x2520;" (assignment_expression "puVar28 = PTR_LAB_003a88e0 + 0x2520" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }" else (compound_statement "{\n    if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }\n    if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar33 = PTR_CloneImageInfo_003a919c;\n    pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;\n    unaff_s1 = image;\n    unaff_s3 = exception;\n    unaff_s5 = length;\n    if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (image->signature != 0xabacadab) goto LAB_0004c00c;\n    puVar28 = PTR_LAB_003a88e0;\n    unaff_s2 = image_info;\n    if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }\n  }" { (if_statement "if (image_info->signature != 0xabacadab) {\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_0004bfdc:\n      image = unaff_s1;\n      pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);\n      unaff_s1 = image;\n      unaff_s2 = image_info;\n      goto LAB_0004c02c;\n    }" { (labeled_statement "LAB_0004bfdc:\n      image = unaff_s1;" statement_identifier : (expression_statement "image = unaff_s1;" (assignment_expression "image = unaff_s1" identifier = identifier) ;)) (expression_statement "pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520);" (assignment_expression "pEVar32 = (ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520)" identifier = (cast_expression "(ExceptionInfo *)(PTR_LAB_003a88e0 + 0x2520)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,pEVar32)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,pEVar32 + 0x129)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "pEVar32 + 0x129" identifier + number_literal) ))) ;)) (expression_statement "unaff_s1 = image;" (assignment_expression "unaff_s1 = image" identifier = identifier) ;) (expression_statement "unaff_s2 = image_info;" (assignment_expression "unaff_s2 = image_info" identifier = identifier) ;) (goto_statement "goto LAB_0004c02c;" goto statement_identifier ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      local_104c = image_info->filename;\n      local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" { (expression_statement "local_104c = image_info->filename;" (assignment_expression "local_104c = image_info->filename" identifier = (field_expression "image_info->filename" identifier -> field_identifier)) ;) (expression_statement "local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_1050 = (BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(BlobInfo *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "puVar33 = PTR_CloneImageInfo_003a919c;" (assignment_expression "puVar33 = PTR_CloneImageInfo_003a919c" identifier = identifier) ;) (expression_statement "pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0;" (assignment_expression "pEVar32 = (ExceptionInfo *)PTR_LAB_003a88e0" identifier = (cast_expression "(ExceptionInfo *)PTR_LAB_003a88e0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s1 = image;" (assignment_expression "unaff_s1 = image" identifier = identifier) ;) (expression_statement "unaff_s3 = exception;" (assignment_expression "unaff_s3 = exception" identifier = identifier) ;) (expression_statement "unaff_s5 = length;" (assignment_expression "unaff_s5 = length" identifier = identifier) ;) (if_statement "if (image == (Image *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004bfdc;" goto statement_identifier ;) })) (if_statement "if (image->signature != 0xabacadab) goto LAB_0004c00c;" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0004c00c;" goto statement_identifier ;)) (expression_statement "puVar28 = PTR_LAB_003a88e0;" (assignment_expression "puVar28 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "unaff_s2 = image_info;" (assignment_expression "unaff_s2 = image_info" identifier = identifier) ;) (if_statement "if (exception != (ExceptionInfo *)0x0) {\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }" if (parenthesized_expression "(exception != (ExceptionInfo *)0x0)" ( (binary_expression "exception != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *length = 0;\n      unaff_s6 = image->magick;\n      unaff_s0 = (Image *)(*(code *)puVar33)(image_info);\n      unaff_s0->quality = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);\n      if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }\n      unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);\n      if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }\n      if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }\n      goto LAB_0004c000;\n    }" { (expression_statement "*length = 0;" (assignment_expression "*length = 0" (pointer_expression "*length" * identifier) = number_literal) ;) (expression_statement "unaff_s6 = image->magick;" (assignment_expression "unaff_s6 = image->magick" identifier = (field_expression "image->magick" identifier -> field_identifier)) ;) (expression_statement "unaff_s0 = (Image *)(*(code *)puVar33)(image_info);" (assignment_expression "unaff_s0 = (Image *)(*(code *)puVar33)(image_info)" identifier = (cast_expression "(Image *)(*(code *)puVar33)(image_info)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar33)(image_info)" (parenthesized_expression "(*(code *)puVar33)" ( (pointer_expression "*(code *)puVar33" * (cast_expression "(code *)puVar33" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image_info)" ( identifier ))))) ;) (expression_statement "unaff_s0->quality = 0;" (assignment_expression "unaff_s0->quality = 0" (field_expression "unaff_s0->quality" identifier -> field_identifier) = number_literal) ;) (expression_statement "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception);" (call_expression "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,exception)" (parenthesized_expression "(*(code *)PTR_SetImageInfo_003a95d8)" ( (pointer_expression "*(code *)PTR_SetImageInfo_003a95d8" * (cast_expression "(code *)PTR_SetImageInfo_003a95d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,1,exception)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (*(char *)&unaff_s0->offset != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }" if (parenthesized_expression "(*(char *)&unaff_s0->offset != '\0')" ( (binary_expression "*(char *)&unaff_s0->offset != '\0'" (pointer_expression "*(char *)&unaff_s0->offset" * (cast_expression "(char *)&unaff_s0->offset" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s0->offset" & (field_expression "unaff_s0->offset" identifier -> field_identifier)))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,&unaff_s0->offset,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,&unaff_s0->offset,0x1000)" ( identifier , (pointer_expression "&unaff_s0->offset" & (field_expression "unaff_s0->offset" identifier -> field_identifier)) , number_literal ))) ;) })) (expression_statement "unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception);" (assignment_expression "unaff_s7 = (BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception)" identifier = (cast_expression "(BlobInfo *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception)" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,exception)" (parenthesized_expression "(*(code *)PTR_GetMagickInfo_003a940c)" ( (pointer_expression "*(code *)PTR_GetMagickInfo_003a940c" * (cast_expression "(code *)PTR_GetMagickInfo_003a940c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,exception)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s7 == (BlobInfo *)0x0) {\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }" if (parenthesized_expression "(unaff_s7 == (BlobInfo *)0x0)" ( (binary_expression "unaff_s7 == (BlobInfo *)0x0" identifier == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pEVar32 = (ExceptionInfo *)0x804;\n        image_info = (ImageInfo *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = PTR_LAB_003a88e0 + 0x1cec;\n        local_1050 = (BlobInfo *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }" { (expression_statement "pEVar32 = (ExceptionInfo *)0x804;" (assignment_expression "pEVar32 = (ExceptionInfo *)0x804" identifier = (cast_expression "(ExceptionInfo *)0x804" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "image_info = (ImageInfo *)0x0;" (assignment_expression "image_info = (ImageInfo *)0x0" identifier = (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = PTR_LAB_003a88e0 + 0x1cec;" (assignment_expression "local_104c = PTR_LAB_003a88e0 + 0x1cec" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1cec" identifier + number_literal)) ;) (expression_statement "local_1050 = (BlobInfo *)0x1a4;" (assignment_expression "local_1050 = (BlobInfo *)0x1a4" identifier = (cast_expression "(BlobInfo *)0x1a4" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = unaff_s6;" (assignment_expression "local_1044 = unaff_s6" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) }) (else_clause "else {\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }" else (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);\n        iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar33 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        image = pIVar5;\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,unaff_s6,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&unaff_s0->offset,unaff_s6,0x1000)" ( (pointer_expression "&unaff_s0->offset" & (field_expression "unaff_s0->offset" identifier -> field_identifier)) , identifier , number_literal ))) ;) (expression_statement "iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);" (assignment_expression "iVar3 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)" ( (pointer_expression "*(code *)PTR_GetMagickBlobSupport_003a9774" * (cast_expression "(code *)PTR_GetMagickBlobSupport_003a9774" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (expression_statement "puVar33 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar33 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (iVar3 == 0) {\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s7 = (BlobInfo *)unique;\n          iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }" { (expression_statement "unaff_s7 = (BlobInfo *)unique;" (assignment_expression "unaff_s7 = (BlobInfo *)unique" identifier = (cast_expression "(BlobInfo *)unique" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (if_statement "if (iVar3 == -1) {\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }\n          else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n            pcVar4 = image_info->filename;\n            puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);\n            pEVar32 = (ExceptionInfo *)0x835;\n            image_info = (ImageInfo *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = PTR_LAB_003a88e0 + 0x1ba4;\n            local_1050 = (BlobInfo *)&DAT_000001b3;\n            local_1044 = pcVar4;\n            local_1040 = pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(pIVar5);\n          }" { (expression_statement "pcVar4 = image_info->filename;" (assignment_expression "pcVar4 = image_info->filename" identifier = (field_expression "image_info->filename" identifier -> field_identifier)) ;) (expression_statement "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar14 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14);" (assignment_expression "pIVar5 = (Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" identifier = (cast_expression "(Image *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar14)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "pEVar32 = (ExceptionInfo *)0x835;" (assignment_expression "pEVar32 = (ExceptionInfo *)0x835" identifier = (cast_expression "(ExceptionInfo *)0x835" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "image_info = (ImageInfo *)0x0;" (assignment_expression "image_info = (ImageInfo *)0x0" identifier = (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0xe78;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0xe78" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal)) ;) (expression_statement "local_104c = PTR_LAB_003a88e0 + 0x1ba4;" (assignment_expression "local_104c = PTR_LAB_003a88e0 + 0x1ba4" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1ba4" identifier + number_literal)) ;) (expression_statement "local_1050 = (BlobInfo *)&DAT_000001b3;" (assignment_expression "local_1050 = (BlobInfo *)&DAT_000001b3" identifier = (cast_expression "(BlobInfo *)&DAT_000001b3" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001b3" & identifier))) ;) (expression_statement "local_1044 = pcVar4;" (assignment_expression "local_1044 = pcVar4" identifier = identifier) ;) (expression_statement "local_1040 = pIVar5;" (assignment_expression "local_1040 = pIVar5" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(pIVar5);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(pIVar5)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pIVar5)" ( identifier ))) ;) }) (else_clause "else {\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" else (compound_statement "{\n            pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);\n            unaff_s0->montage = pcVar4;\n            pIVar5 = image;\n            if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" { (expression_statement "pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98);" (assignment_expression "pcVar4 = (char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98)" identifier = (cast_expression "(char *)(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_fdopen_003a97d8)(iVar3,PTR_LAB_003a88e0 + 0xe98)" (parenthesized_expression "(*(code *)PTR_fdopen_003a97d8)" ( (pointer_expression "*(code *)PTR_fdopen_003a97d8" * (cast_expression "(code *)PTR_fdopen_003a97d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,PTR_LAB_003a88e0 + 0xe98)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0xe98" identifier + number_literal) ))))) ;) (expression_statement "unaff_s0->montage = pcVar4;" (assignment_expression "unaff_s0->montage = pcVar4" (field_expression "unaff_s0->montage" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar5 = image;" (assignment_expression "pIVar5 = image" identifier = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }\n            else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004bd90:\n              image_info = (ImageInfo *)0x0;\n            }" { (labeled_statement "LAB_0004bd90:\n              image_info = (ImageInfo *)0x0;" statement_identifier : (expression_statement "image_info = (ImageInfo *)0x0;" (assignment_expression "image_info = (ImageInfo *)0x0" identifier = (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }" else (compound_statement "{\n              pEVar32 = (ExceptionInfo *)unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);\n              (*(code *)PTR_CloseBlob_003a9688)(image);\n              (*(code *)PTR_fclose_003a939c)(unaff_s0->montage);\n              if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;\n              pEVar32 = exception;\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);\n            }" { (expression_statement "pEVar32 = (ExceptionInfo *)unaff_s6;" (assignment_expression "pEVar32 = (ExceptionInfo *)unaff_s6" identifier = (cast_expression "(ExceptionInfo *)unaff_s6" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_1050 = unaff_s7;" (assignment_expression "local_1050 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image->filename,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" ( (field_expression "image->filename" identifier -> field_identifier) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1d10" identifier + number_literal) , identifier ))) ;) (expression_statement "pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception);" (assignment_expression "pIVar5 = (Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception)" identifier = (cast_expression "(Image *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,image,exception)" (parenthesized_expression "(*(code *)PTR_WriteImage_003a8f74)" ( (pointer_expression "*(code *)PTR_WriteImage_003a8f74" * (cast_expression "(code *)PTR_WriteImage_003a8f74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,image,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(image);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(image)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_fclose_003a939c)(unaff_s0->montage);" (call_expression "(*(code *)PTR_fclose_003a939c)(unaff_s0->montage)" (parenthesized_expression "(*(code *)PTR_fclose_003a939c)" ( (pointer_expression "*(code *)PTR_fclose_003a939c" * (cast_expression "(code *)PTR_fclose_003a939c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0->montage)" ( (field_expression "unaff_s0->montage" identifier -> field_identifier) ))) ;) (if_statement "if (pIVar5 == (Image *)0x0) goto LAB_0004bd90;" if (parenthesized_expression "(pIVar5 == (Image *)0x0)" ( (binary_expression "pIVar5 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004bd90;" goto statement_identifier ;)) (expression_statement "pEVar32 = exception;" (assignment_expression "pEVar32 = exception" identifier = identifier) ;) (expression_statement "image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception);" (assignment_expression "image_info = (ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception)" identifier = (cast_expression "(ImageInfo *)\n                           (*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_FileToBlob_003a8d24)(unaff_s7,0xffffffff,length,exception)" (parenthesized_expression "(*(code *)PTR_FileToBlob_003a8d24)" ( (pointer_expression "*(code *)PTR_FileToBlob_003a8d24" * (cast_expression "(code *)PTR_FileToBlob_003a8d24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,0xffffffff,length,exception)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);" (call_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)" ( (pointer_expression "*(code *)PTR_RelinquishUniqueFileResource_003a8f9c" * (cast_expression "(code *)PTR_RelinquishUniqueFileResource_003a8f9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }) (else_clause "else {\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }" else (compound_statement "{\n          unaff_s0->geometry = (char *)0x0;\n          pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);\n          unaff_s0->directory = pcVar4;\n          if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }\n        }" { (expression_statement "unaff_s0->geometry = (char *)0x0;" (assignment_expression "unaff_s0->geometry = (char *)0x0" (field_expression "unaff_s0->geometry" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar4 = (char *)(*(code *)puVar33)(0x10000,1);" (assignment_expression "pcVar4 = (char *)(*(code *)puVar33)(0x10000,1)" identifier = (cast_expression "(char *)(*(code *)puVar33)(0x10000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar33)(0x10000,1)" (parenthesized_expression "(*(code *)puVar33)" ( (pointer_expression "*(code *)puVar33" * (cast_expression "(code *)puVar33" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10000,1)" ( number_literal , number_literal ))))) ;) (expression_statement "unaff_s0->directory = pcVar4;" (assignment_expression "unaff_s0->directory = pcVar4" (field_expression "unaff_s0->directory" identifier -> field_identifier) = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pIVar5 = (Image *)image->filename;\n            pEVar32 = (ExceptionInfo *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = PTR_LAB_003a88e0 + 0x16f8;\n            local_1050 = (BlobInfo *)0x190;\n            local_1044 = (char *)pIVar5;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            image_info = (ImageInfo *)0x0;\n          }" { (expression_statement "pIVar5 = (Image *)image->filename;" (assignment_expression "pIVar5 = (Image *)image->filename" identifier = (cast_expression "(Image *)image->filename" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->filename" identifier -> field_identifier))) ;) (expression_statement "pEVar32 = (ExceptionInfo *)0x814;" (assignment_expression "pEVar32 = (ExceptionInfo *)0x814" identifier = (cast_expression "(ExceptionInfo *)0x814" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = PTR_LAB_003a88e0 + 0x16f8;" (assignment_expression "local_104c = PTR_LAB_003a88e0 + 0x16f8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal)) ;) (expression_statement "local_1050 = (BlobInfo *)0x190;" (assignment_expression "local_1050 = (BlobInfo *)0x190" identifier = (cast_expression "(BlobInfo *)0x190" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = (char *)pIVar5;" (assignment_expression "local_1044 = (char *)pIVar5" identifier = (cast_expression "(char *)pIVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "image_info = (ImageInfo *)0x0;" (assignment_expression "image_info = (ImageInfo *)0x0" identifier = (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }" else (compound_statement "{\n            (*(code *)PTR_CloseBlob_003a9688)(image);\n            puVar33 = PTR_WriteImage_003a8f74;\n            image->blob->exempt = MagickTrue;\n            image->filename[0] = '\0';\n            pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);\n            puVar33 = PTR_DetachBlob_003a976c;\n            pBVar20 = image->blob;\n            *length = pBVar20->length;\n            iVar3 = (*(code *)puVar33)(pBVar20);\n            if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }\n          }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(image);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(image)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image)" ( identifier ))) ;) (expression_statement "puVar33 = PTR_WriteImage_003a8f74;" (assignment_expression "puVar33 = PTR_WriteImage_003a8f74" identifier = identifier) ;) (expression_statement "image->blob->exempt = MagickTrue;" (assignment_expression "image->blob->exempt = MagickTrue" (field_expression "image->blob->exempt" (field_expression "image->blob" identifier -> field_identifier) -> field_identifier) = identifier) ;) (expression_statement "image->filename[0] = '\0';" (assignment_expression "image->filename[0] = '\0'" (subscript_expression "image->filename[0]" (field_expression "image->filename" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception);" (assignment_expression "pIVar5 = (Image *)(*(code *)puVar33)(unaff_s0,image,exception)" identifier = (cast_expression "(Image *)(*(code *)puVar33)(unaff_s0,image,exception)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar33)(unaff_s0,image,exception)" (parenthesized_expression "(*(code *)puVar33)" ( (pointer_expression "*(code *)puVar33" * (cast_expression "(code *)puVar33" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,image,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "puVar33 = PTR_DetachBlob_003a976c;" (assignment_expression "puVar33 = PTR_DetachBlob_003a976c" identifier = identifier) ;) (expression_statement "pBVar20 = image->blob;" (assignment_expression "pBVar20 = image->blob" identifier = (field_expression "image->blob" identifier -> field_identifier)) ;) (expression_statement "*length = pBVar20->length;" (assignment_expression "*length = pBVar20->length" (pointer_expression "*length" * identifier) = (field_expression "pBVar20->length" identifier -> field_identifier)) ;) (expression_statement "iVar3 = (*(code *)puVar33)(pBVar20);" (assignment_expression "iVar3 = (*(code *)puVar33)(pBVar20)" identifier = (call_expression "(*(code *)puVar33)(pBVar20)" (parenthesized_expression "(*(code *)puVar33)" ( (pointer_expression "*(code *)puVar33" * (cast_expression "(code *)puVar33" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pBVar20)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }\n            else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n              pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);\n              unaff_s0->directory = pcVar4;\n              image_info = (ImageInfo *)0x0;\n            }" { (expression_statement "pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);" (assignment_expression "pcVar4 = (char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory)" identifier = (cast_expression "(char *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0->directory)" ( (field_expression "unaff_s0->directory" identifier -> field_identifier) ))))) ;) (expression_statement "unaff_s0->directory = pcVar4;" (assignment_expression "unaff_s0->directory = pcVar4" (field_expression "unaff_s0->directory" identifier -> field_identifier) = identifier) ;) (expression_statement "image_info = (ImageInfo *)0x0;" (assignment_expression "image_info = (ImageInfo *)0x0" identifier = (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }" else (if_statement "if (pIVar5 == (Image *)0x0) {\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }\n            else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }" if (parenthesized_expression "(pIVar5 == (Image *)0x0)" ( (binary_expression "pIVar5 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n            }" { (expression_statement "image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (assignment_expression "image_info = (ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" identifier = (cast_expression "(ImageInfo *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))))) ;) }) (else_clause "else {\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }" else (compound_statement "{\n              image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);\n            }" { (expression_statement "image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1);" (assignment_expression "image_info = (ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1)" identifier = (cast_expression "(ImageInfo *)\n                           (*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar3,*length + 1,1)" (parenthesized_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)" ( (pointer_expression "*(code *)PTR_ResizeQuantumMemory_003a9420" * (cast_expression "(code *)PTR_ResizeQuantumMemory_003a9420" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,*length + 1,1)" ( identifier , (binary_expression "*length + 1" (pointer_expression "*length" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "image = pIVar5;" (assignment_expression "image = pIVar5" identifier = identifier) ;) }))) (if_statement "if (iVar2 == *(int *)puVar1) {\n        return image_info;\n      }" if (parenthesized_expression "(iVar2 == *(int *)puVar1)" ( (binary_expression "iVar2 == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return image_info;\n      }" { (return_statement "return image_info;" return identifier ;) })) (goto_statement "goto LAB_0004c000;" goto statement_identifier ;) })) }))) (expression_statement "psVar26 = (size_t *)&DAT_000007f9;" (assignment_expression "psVar26 = (size_t *)&DAT_000007f9" identifier = (cast_expression "(size_t *)&DAT_000007f9" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000007f9" & identifier))) ;) (expression_statement "pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520);" (assignment_expression "pEVar29 = (ExceptionInfo *)(puVar28 + 0x2520)" identifier = (cast_expression "(ExceptionInfo *)(puVar28 + 0x2520)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x2520)" ( (binary_expression "puVar28 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8);" (assignment_expression "pIVar22 = (Image *)(PTR_LAB_003a88e0 + 0x1ad8)" identifier = (cast_expression "(Image *)(PTR_LAB_003a88e0 + 0x1ad8)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ad8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) )))) ;) (expression_statement "pcVar36 = ImagesToBlob;" (assignment_expression "pcVar36 = ImagesToBlob" identifier = identifier) ;) (expression_statement "pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac);" (assignment_expression "pIVar5 = (Image *)(PTR_LAB_003a88e0 + 0x1cac)" identifier = (cast_expression "(Image *)(PTR_LAB_003a88e0 + 0x1cac)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cac)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) )))) ;) (expression_statement "puVar33 = PTR___assert_fail_003a9608;" (assignment_expression "puVar33 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1074 = puVar1;" (assignment_expression "puStack_1074 = puVar1" identifier = identifier) ;) (expression_statement "pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0);" (assignment_expression "pEVar32 = *(ExceptionInfo **)(puVar33 + 0x35d1c0)" identifier = (pointer_expression "*(ExceptionInfo **)(puVar33 + 0x35d1c0)" * (cast_expression "(ExceptionInfo **)(puVar33 + 0x35d1c0)" ( (type_descriptor "ExceptionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d1c0)" ( (binary_expression "puVar33 + 0x35d1c0" identifier + number_literal) ))))) ;) (expression_statement "EStack_108c = pEVar32->severity;" (assignment_expression "EStack_108c = pEVar32->severity" identifier = (field_expression "pEVar32->severity" identifier -> field_identifier)) ;) (expression_statement "pIStack_1084 = unaff_s0;" (assignment_expression "pIStack_1084 = unaff_s0" identifier = identifier) ;) (expression_statement "pIStack_1080 = unaff_s1;" (assignment_expression "pIStack_1080 = unaff_s1" identifier = identifier) ;) (expression_statement "pIStack_107c = unaff_s2;" (assignment_expression "pIStack_107c = unaff_s2" identifier = identifier) ;) (expression_statement "pEStack_1078 = exception;" (assignment_expression "pEStack_1078 = exception" identifier = identifier) ;) (expression_statement "psStack_1070 = length;" (assignment_expression "psStack_1070 = length" identifier = identifier) ;) (expression_statement "pcStack_106c = unaff_s6;" (assignment_expression "pcStack_106c = unaff_s6" identifier = identifier) ;) (expression_statement "pBStack_1068 = unaff_s7;" (assignment_expression "pBStack_1068 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_1064 = pcVar36;" (assignment_expression "pcStack_1064 = pcVar36" identifier = identifier) ;) (if_statement "if (pIVar5 != (Image *)0x0) {\n    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }\n    (**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);\n    unaff_s1 = pIVar5;\n  }" if (parenthesized_expression "(pIVar5 != (Image *)0x0)" ( (binary_expression "pIVar5 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }\n    (**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);\n    unaff_s1 = pIVar5;\n  }" { (if_statement "if (*(int *)(pIVar5->magick + 0xed4) == -0x54535255) {\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }" if (parenthesized_expression "(*(int *)(pIVar5->magick + 0xed4) == -0x54535255)" ( (binary_expression "*(int *)(pIVar5->magick + 0xed4) == -0x54535255" (pointer_expression "*(int *)(pIVar5->magick + 0xed4)" * (cast_expression "(int *)(pIVar5->magick + 0xed4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar5->magick + 0xed4)" ( (binary_expression "pIVar5->magick + 0xed4" (field_expression "pIVar5->magick" identifier -> field_identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = pIVar22;\n      exception = pEVar29;\n      length = psVar26;\n      if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;\n      iVar2 = *(int *)(puVar33 + 0x35c870);\n      if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }" { (if_statement "if (*(int *)(pIVar5->magick + 0xed0) != 0) {\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }" if (parenthesized_expression "(*(int *)(pIVar5->magick + 0xed0) != 0)" ( (binary_expression "*(int *)(pIVar5->magick + 0xed0) != 0" (pointer_expression "*(int *)(pIVar5->magick + 0xed0)" * (cast_expression "(int *)(pIVar5->magick + 0xed0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pIVar5->magick + 0xed0)" ( (binary_expression "pIVar5->magick + 0xed0" (field_expression "pIVar5->magick" identifier -> field_identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);\n      }" { (expression_statement "(**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985);" (call_expression "(**(code **)(puVar33 + 0x35d170))\n                  (0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d170))" ( (pointer_expression "**(code **)(puVar33 + 0x35d170)" * (pointer_expression "*(code **)(puVar33 + 0x35d170)" * (cast_expression "(code **)(puVar33 + 0x35d170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d170)" ( (binary_expression "puVar33 + 0x35d170" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar33 + 0x35c870) + 0x24b4,0x985)" ( number_literal , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s0 = pIVar22;" (assignment_expression "unaff_s0 = pIVar22" identifier = identifier) ;) (expression_statement "exception = pEVar29;" (assignment_expression "exception = pEVar29" identifier = identifier) ;) (expression_statement "length = psVar26;" (assignment_expression "length = psVar26" identifier = identifier) ;) (if_statement "if (pIVar22 == (Image *)0x0) goto LAB_0004c5a4;" if (parenthesized_expression "(pIVar22 == (Image *)0x0)" ( (binary_expression "pIVar22 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c5a4;" goto statement_identifier ;)) (expression_statement "iVar2 = *(int *)(puVar33 + 0x35c870);" (assignment_expression "iVar2 = *(int *)(puVar33 + 0x35c870)" identifier = (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) ))))) ;) (if_statement "if (pIVar22->signature == 0xabacadab) {\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" if (parenthesized_expression "(pIVar22->signature == 0xabacadab)" ( (binary_expression "pIVar22->signature == 0xabacadab" (field_expression "pIVar22->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pcVar36 = *(code **)(puVar33 + 0x35d12c);\n        if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" { (expression_statement "pcVar36 = *(code **)(puVar33 + 0x35d12c);" (assignment_expression "pcVar36 = *(code **)(puVar33 + 0x35d12c)" identifier = (pointer_expression "*(code **)(puVar33 + 0x35d12c)" * (cast_expression "(code **)(puVar33 + 0x35d12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d12c)" ( (binary_expression "puVar33 + 0x35d12c" identifier + number_literal) ))))) ;) (if_statement "if (pEVar29 != (ExceptionInfo *)0x0) {\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }" if (parenthesized_expression "(pEVar29 != (ExceptionInfo *)0x0)" ( (binary_expression "pEVar29 != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *psVar26 = 0;\n          unaff_s7 = (BlobInfo *)pIVar22->magick;\n          unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);\n          uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);\n          (**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);\n          if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }\n          unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);\n          if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }\n          unaff_s0 = pIVar22;\n          if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }\n          goto LAB_0004c598;\n        }" { (expression_statement "*psVar26 = 0;" (assignment_expression "*psVar26 = 0" (pointer_expression "*psVar26" * identifier) = number_literal) ;) (expression_statement "unaff_s7 = (BlobInfo *)pIVar22->magick;" (assignment_expression "unaff_s7 = (BlobInfo *)pIVar22->magick" identifier = (cast_expression "(BlobInfo *)pIVar22->magick" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar22->magick" identifier -> field_identifier))) ;) (expression_statement "unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5);" (assignment_expression "unaff_s2 = (ImageInfo *)(*pcVar36)(pIVar5)" identifier = (cast_expression "(ImageInfo *)(*pcVar36)(pIVar5)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(pIVar5)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pIVar5)" ( identifier ))))) ;) (expression_statement "uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22);" (assignment_expression "uVar6 = (**(code **)(puVar33 + 0x35d208))(pIVar22)" identifier = (call_expression "(**(code **)(puVar33 + 0x35d208))(pIVar22)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d208))" ( (pointer_expression "**(code **)(puVar33 + 0x35d208)" * (pointer_expression "*(code **)(puVar33 + 0x35d208)" * (cast_expression "(code **)(puVar33 + 0x35d208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d208)" ( (binary_expression "puVar33 + 0x35d208" identifier + number_literal) ))))) )) (argument_list "(pIVar22)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29);" (call_expression "(**(code **)(puVar33 + 0x35d568))(unaff_s2,uVar6,pEVar29)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d568))" ( (pointer_expression "**(code **)(puVar33 + 0x35d568)" * (pointer_expression "*(code **)(puVar33 + 0x35d568)" * (cast_expression "(code **)(puVar33 + 0x35d568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d568)" ( (binary_expression "puVar33 + 0x35d568" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,uVar6,pEVar29)" ( identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s2->magick[0] != '\0') {\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }" if (parenthesized_expression "(unaff_s2->magick[0] != '\0')" ( (binary_expression "unaff_s2->magick[0] != '\0'" (subscript_expression "unaff_s2->magick[0]" (field_expression "unaff_s2->magick" identifier -> field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);\n          }" { (expression_statement "(**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000);" (call_expression "(**(code **)(puVar33 + 0x35d7cc))(unaff_s7,unaff_s2->magick,0x1000)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar33 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar33 + 0x35d7cc)" * (cast_expression "(code **)(puVar33 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d7cc)" ( (binary_expression "puVar33 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,unaff_s2->magick,0x1000)" ( identifier , (field_expression "unaff_s2->magick" identifier -> field_identifier) , number_literal ))) ;) })) (expression_statement "unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29);" (assignment_expression "unaff_s6 = (char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29)" identifier = (cast_expression "(char *)(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d39c))(unaff_s7,pEVar29)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d39c))" ( (pointer_expression "**(code **)(puVar33 + 0x35d39c)" * (pointer_expression "*(code **)(puVar33 + 0x35d39c)" * (cast_expression "(code **)(puVar33 + 0x35d39c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d39c)" ( (binary_expression "puVar33 + 0x35d39c" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,pEVar29)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s6 == (char *)0x0) {\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }" if (parenthesized_expression "(unaff_s6 == (char *)0x0)" ( (binary_expression "unaff_s6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pIVar5 = (Image *)0x0;\n            (**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n          }" { (expression_statement "pIVar5 = (Image *)0x0;" (assignment_expression "pIVar5 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994);" (call_expression "(**(code **)(puVar33 + 0x35ceb0))\n                      (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994)" (parenthesized_expression "(**(code **)(puVar33 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar33 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar33 + 0x35ceb0)" * (cast_expression "(code **)(puVar33 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35ceb0)" ( (binary_expression "puVar33 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar33 + 0x35c870) + 0x24b4,0x994)" ( identifier , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar33 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar33 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d578))" ( (pointer_expression "**(code **)(puVar33 + 0x35d578)" * (pointer_expression "*(code **)(puVar33 + 0x35d578)" * (cast_expression "(code **)(puVar33 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d578)" ( (binary_expression "puVar33 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }" else (compound_statement "{\n            iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);\n            if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }\n          }" { (expression_statement "iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6);" (assignment_expression "iVar2 = (**(code **)(puVar33 + 0x35cc9c))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar33 + 0x35cc9c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cc9c))" ( (pointer_expression "**(code **)(puVar33 + 0x35cc9c)" * (pointer_expression "*(code **)(puVar33 + 0x35cc9c)" * (cast_expression "(code **)(puVar33 + 0x35cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cc9c)" ( (binary_expression "puVar33 + 0x35cc9c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }\n            else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);\n            }" { (expression_statement "(**(code **)(puVar33 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar33 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d578))" ( (pointer_expression "**(code **)(puVar33 + 0x35d578)" * (pointer_expression "*(code **)(puVar33 + 0x35d578)" * (cast_expression "(code **)(puVar33 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d578)" ( (binary_expression "puVar33 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29);" (assignment_expression "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d45c))(pIVar5,pIVar22,psVar26,pEVar29)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d45c))" ( (pointer_expression "**(code **)(puVar33 + 0x35d45c)" * (pointer_expression "*(code **)(puVar33 + 0x35d45c)" * (cast_expression "(code **)(puVar33 + 0x35d45c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d45c)" ( (binary_expression "puVar33 + 0x35d45c" identifier + number_literal) ))))) )) (argument_list "(pIVar5,pIVar22,psVar26,pEVar29)" ( identifier , identifier , identifier , identifier ))))) ;) }) (else_clause "else {\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }" else (compound_statement "{\n              (**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);\n              iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);\n              pIVar8 = pIVar22;\n              if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar33 + 0x35d578))(unaff_s2);\n              pIVar22 = pIVar8;\n            }" { (expression_statement "(**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000);" (call_expression "(**(code **)(puVar33 + 0x35d7cc))(unaff_s2->magick,unaff_s7,0x1000)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar33 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar33 + 0x35d7cc)" * (cast_expression "(code **)(puVar33 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d7cc)" ( (binary_expression "puVar33 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s2->magick,unaff_s7,0x1000)" ( (field_expression "unaff_s2->magick" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6);" (assignment_expression "iVar2 = (**(code **)(puVar33 + 0x35d704))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar33 + 0x35d704))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d704))" ( (pointer_expression "**(code **)(puVar33 + 0x35d704)" * (pointer_expression "*(code **)(puVar33 + 0x35d704)" * (cast_expression "(code **)(puVar33 + 0x35d704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d704)" ( (binary_expression "puVar33 + 0x35d704" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "pIVar8 = pIVar22;" (assignment_expression "pIVar8 = pIVar22" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                unaff_s6 = auStack_308c + 0x1000;\n                iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);\n                if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }\n              }" { (expression_statement "unaff_s6 = auStack_308c + 0x1000;" (assignment_expression "unaff_s6 = auStack_308c + 0x1000" identifier = (binary_expression "auStack_308c + 0x1000" identifier + number_literal)) ;) (expression_statement "iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6);" (assignment_expression "iVar2 = (**(code **)(puVar33 + 0x35cdd4))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar33 + 0x35cdd4))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cdd4))" ( (pointer_expression "**(code **)(puVar33 + 0x35cdd4)" * (pointer_expression "*(code **)(puVar33 + 0x35cdd4)" * (cast_expression "(code **)(puVar33 + 0x35cdd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cdd4)" ( (binary_expression "puVar33 + 0x35cdd4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar2 == -1) {\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }\n                else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();\n                  pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);\n                  pIVar5 = (Image *)0x0;\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar33 + 0x35d004))(pIVar8);\n                }" { (expression_statement "puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(puVar33 + 0x35d940))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar33 + 0x35d940))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d940))()" (parenthesized_expression "(**(code **)(puVar33 + 0x35d940))" ( (pointer_expression "**(code **)(puVar33 + 0x35d940)" * (pointer_expression "*(code **)(puVar33 + 0x35d940)" * (cast_expression "(code **)(puVar33 + 0x35d940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d940)" ( (binary_expression "puVar33 + 0x35d940" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14);" (assignment_expression "pIVar8 = (Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35d37c))(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d37c))(*puVar14)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d37c))" ( (pointer_expression "**(code **)(puVar33 + 0x35d37c)" * (pointer_expression "*(code **)(puVar33 + 0x35d37c)" * (cast_expression "(code **)(puVar33 + 0x35d37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d37c)" ( (binary_expression "puVar33 + 0x35d37c" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "pIVar5 = (Image *)0x0;" (assignment_expression "pIVar5 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb);" (call_expression "(**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb)" (parenthesized_expression "(**(code **)(puVar33 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar33 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar33 + 0x35ceb0)" * (cast_expression "(code **)(puVar33 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35ceb0)" ( (binary_expression "puVar33 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9cb)" ( identifier , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar33 + 0x35d004))(pIVar8);" (call_expression "(**(code **)(puVar33 + 0x35d004))(pIVar8)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d004))" ( (pointer_expression "**(code **)(puVar33 + 0x35d004)" * (pointer_expression "*(code **)(puVar33 + 0x35d004)" * (cast_expression "(code **)(puVar33 + 0x35d004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d004)" ( (binary_expression "puVar33 + 0x35d004" identifier + number_literal) ))))) )) (argument_list "(pIVar8)" ( identifier ))) ;) }) (else_clause "else {\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }" else (compound_statement "{\n                  pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);\n                  unaff_s2->file = pFVar9;\n                  if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }\n                  (**(code **)(puVar33 + 0x35cf2c))(unaff_s6);\n                }" { (expression_statement "pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98);" (assignment_expression "pFVar9 = (FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98)" identifier = (cast_expression "(FILE *)(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98)" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d768))\n                                             (iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d768))" ( (pointer_expression "**(code **)(puVar33 + 0x35d768)" * (pointer_expression "*(code **)(puVar33 + 0x35d768)" * (cast_expression "(code **)(puVar33 + 0x35d768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d768)" ( (binary_expression "puVar33 + 0x35d768" identifier + number_literal) ))))) )) (argument_list "(iVar2,*(int *)(puVar33 + 0x35c870) + 0xe98)" ( identifier , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0xe98" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "unaff_s2->file = pFVar9;" (assignment_expression "unaff_s2->file = pFVar9" (field_expression "unaff_s2->file" identifier -> field_identifier) = identifier) ;) (if_statement "if (pFVar9 == (FILE *)0x0) {\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }" if (parenthesized_expression "(pFVar9 == (FILE *)0x0)" ( (binary_expression "pFVar9 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004c308:\n                    pIVar5 = (Image *)0x0;\n                  }" { (labeled_statement "LAB_0004c308:\n                    pIVar5 = (Image *)0x0;" statement_identifier : (expression_statement "pIVar5 = (Image *)0x0;" (assignment_expression "pIVar5 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }" else (compound_statement "{\n                    (**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);\n                    pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);\n                    (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                    (**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);\n                    if (pIVar8 == (Image *)0x0) goto LAB_0004c308;\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);\n                  }" { (expression_statement "(**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7);" (call_expression "(**(code **)(puVar33 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cd0c))" ( (pointer_expression "**(code **)(puVar33 + 0x35cd0c)" * (pointer_expression "*(code **)(puVar33 + 0x35cd0c)" * (cast_expression "(code **)(puVar33 + 0x35cd0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cd0c)" ( (binary_expression "puVar33 + 0x35cd0c" identifier + number_literal) ))))) )) (argument_list "(auStack_308c,0x1000,*(int *)(puVar33 + 0x35c870) + 0x1d10,unaff_s7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1d10" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29);" (assignment_expression "pIVar8 = (Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35cc0c))\n                                                (unaff_s2,pIVar22,auStack_308c,pEVar29)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cc0c))" ( (pointer_expression "**(code **)(puVar33 + 0x35cc0c)" * (pointer_expression "*(code **)(puVar33 + 0x35cc0c)" * (cast_expression "(code **)(puVar33 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cc0c)" ( (binary_expression "puVar33 + 0x35cc0c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,pIVar22,auStack_308c,pEVar29)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(puVar33 + 0x35d618))(pIVar22);" (call_expression "(**(code **)(puVar33 + 0x35d618))(pIVar22)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d618))" ( (pointer_expression "**(code **)(puVar33 + 0x35d618)" * (pointer_expression "*(code **)(puVar33 + 0x35d618)" * (cast_expression "(code **)(puVar33 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d618)" ( (binary_expression "puVar33 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(pIVar22)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar33 + 0x35d32c))(unaff_s2->file);" (call_expression "(**(code **)(puVar33 + 0x35d32c))(unaff_s2->file)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d32c))" ( (pointer_expression "**(code **)(puVar33 + 0x35d32c)" * (pointer_expression "*(code **)(puVar33 + 0x35d32c)" * (cast_expression "(code **)(puVar33 + 0x35d32c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d32c)" ( (binary_expression "puVar33 + 0x35d32c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2->file)" ( (field_expression "unaff_s2->file" identifier -> field_identifier) ))) ;) (if_statement "if (pIVar8 == (Image *)0x0) goto LAB_0004c308;" if (parenthesized_expression "(pIVar8 == (Image *)0x0)" ( (binary_expression "pIVar8 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c308;" goto statement_identifier ;)) (expression_statement "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29);" (assignment_expression "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35ccb4))\n                                                (unaff_s6,0xffffffff,psVar26,pEVar29)" (parenthesized_expression "(**(code **)(puVar33 + 0x35ccb4))" ( (pointer_expression "**(code **)(puVar33 + 0x35ccb4)" * (pointer_expression "*(code **)(puVar33 + 0x35ccb4)" * (cast_expression "(code **)(puVar33 + 0x35ccb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35ccb4)" ( (binary_expression "puVar33 + 0x35ccb4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0xffffffff,psVar26,pEVar29)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(**(code **)(puVar33 + 0x35cf2c))(unaff_s6);" (call_expression "(**(code **)(puVar33 + 0x35cf2c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cf2c))" ( (pointer_expression "**(code **)(puVar33 + 0x35cf2c)" * (pointer_expression "*(code **)(puVar33 + 0x35cf2c)" * (cast_expression "(code **)(puVar33 + 0x35cf2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cf2c)" ( (binary_expression "puVar33 + 0x35cf2c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))) ;) }))) }) (else_clause "else {\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }" else (compound_statement "{\n                pcVar36 = *(code **)(puVar33 + 0x35d49c);\n                unaff_s2->length = 0;\n                unaff_s6 = pIVar22->filename;\n                pvVar7 = (void *)(*pcVar36)(0x10000,1);\n                unaff_s2->blob = pvVar7;\n                if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }\n              }" { (expression_statement "pcVar36 = *(code **)(puVar33 + 0x35d49c);" (assignment_expression "pcVar36 = *(code **)(puVar33 + 0x35d49c)" identifier = (pointer_expression "*(code **)(puVar33 + 0x35d49c)" * (cast_expression "(code **)(puVar33 + 0x35d49c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d49c)" ( (binary_expression "puVar33 + 0x35d49c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2->length = 0;" (assignment_expression "unaff_s2->length = 0" (field_expression "unaff_s2->length" identifier -> field_identifier) = number_literal) ;) (expression_statement "unaff_s6 = pIVar22->filename;" (assignment_expression "unaff_s6 = pIVar22->filename" identifier = (field_expression "pIVar22->filename" identifier -> field_identifier)) ;) (expression_statement "pvVar7 = (void *)(*pcVar36)(0x10000,1);" (assignment_expression "pvVar7 = (void *)(*pcVar36)(0x10000,1)" identifier = (cast_expression "(void *)(*pcVar36)(0x10000,1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(0x10000,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(0x10000,1)" ( number_literal , number_literal ))))) ;) (expression_statement "unaff_s2->blob = pvVar7;" (assignment_expression "unaff_s2->blob = pvVar7" (field_expression "unaff_s2->blob" identifier -> field_identifier) = identifier) ;) (if_statement "if (pvVar7 == (void *)0x0) {\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }\n                else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }" if (parenthesized_expression "(pvVar7 == (void *)0x0)" ( (binary_expression "pvVar7 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  (**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);\n                  pIVar5 = (Image *)0x0;\n                }" { (expression_statement "(**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9);" (call_expression "(**(code **)(puVar33 + 0x35ceb0))\n                            (pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9)" (parenthesized_expression "(**(code **)(puVar33 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar33 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar33 + 0x35ceb0)" * (cast_expression "(code **)(puVar33 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35ceb0)" ( (binary_expression "puVar33 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(pEVar29,*(int *)(puVar33 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar33 + 0x35c870) + 0x24b4,0x9a9)" ( identifier , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "pIVar5 = (Image *)0x0;" (assignment_expression "pIVar5 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }" else (compound_statement "{\n                  (**(code **)(puVar33 + 0x35d618))(pIVar22);\n                  pcVar36 = *(code **)(puVar33 + 0x35cc0c);\n                  pIVar22->blob->exempt = MagickTrue;\n                  pIVar22->filename[0] = '\0';\n                  pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);\n                  pBVar20 = pIVar22->blob;\n                  pcVar36 = *(code **)(puVar33 + 0x35d6fc);\n                  *psVar26 = pBVar20->length;\n                  iVar2 = (*pcVar36)(pBVar20);\n                  if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }\n                }" { (expression_statement "(**(code **)(puVar33 + 0x35d618))(pIVar22);" (call_expression "(**(code **)(puVar33 + 0x35d618))(pIVar22)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d618))" ( (pointer_expression "**(code **)(puVar33 + 0x35d618)" * (pointer_expression "*(code **)(puVar33 + 0x35d618)" * (cast_expression "(code **)(puVar33 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d618)" ( (binary_expression "puVar33 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(pIVar22)" ( identifier ))) ;) (expression_statement "pcVar36 = *(code **)(puVar33 + 0x35cc0c);" (assignment_expression "pcVar36 = *(code **)(puVar33 + 0x35cc0c)" identifier = (pointer_expression "*(code **)(puVar33 + 0x35cc0c)" * (cast_expression "(code **)(puVar33 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cc0c)" ( (binary_expression "puVar33 + 0x35cc0c" identifier + number_literal) ))))) ;) (expression_statement "pIVar22->blob->exempt = MagickTrue;" (assignment_expression "pIVar22->blob->exempt = MagickTrue" (field_expression "pIVar22->blob->exempt" (field_expression "pIVar22->blob" identifier -> field_identifier) -> field_identifier) = identifier) ;) (expression_statement "pIVar22->filename[0] = '\0';" (assignment_expression "pIVar22->filename[0] = '\0'" (subscript_expression "pIVar22->filename[0]" (field_expression "pIVar22->filename" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29);" (assignment_expression "pIVar8 = (Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29)" identifier = (cast_expression "(Image *)(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(unaff_s2,pIVar22,unaff_s6,pEVar29)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(unaff_s2,pIVar22,unaff_s6,pEVar29)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "pBVar20 = pIVar22->blob;" (assignment_expression "pBVar20 = pIVar22->blob" identifier = (field_expression "pIVar22->blob" identifier -> field_identifier)) ;) (expression_statement "pcVar36 = *(code **)(puVar33 + 0x35d6fc);" (assignment_expression "pcVar36 = *(code **)(puVar33 + 0x35d6fc)" identifier = (pointer_expression "*(code **)(puVar33 + 0x35d6fc)" * (cast_expression "(code **)(puVar33 + 0x35d6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d6fc)" ( (binary_expression "puVar33 + 0x35d6fc" identifier + number_literal) ))))) ;) (expression_statement "*psVar26 = pBVar20->length;" (assignment_expression "*psVar26 = pBVar20->length" (pointer_expression "*psVar26" * identifier) = (field_expression "pBVar20->length" identifier -> field_identifier)) ;) (expression_statement "iVar2 = (*pcVar36)(pBVar20);" (assignment_expression "iVar2 = (*pcVar36)(pBVar20)" identifier = (call_expression "(*pcVar36)(pBVar20)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pBVar20)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }\n                  else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                    pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);\n                    unaff_s2->blob = pvVar7;\n                    pIVar5 = (Image *)0x0;\n                  }" { (expression_statement "pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob);" (assignment_expression "pvVar7 = (void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob)" identifier = (cast_expression "(void *)(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35cf50))(unaff_s2->blob)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar33 + 0x35cf50)" * (pointer_expression "*(code **)(puVar33 + 0x35cf50)" * (cast_expression "(code **)(puVar33 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cf50)" ( (binary_expression "puVar33 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(unaff_s2->blob)" ( (field_expression "unaff_s2->blob" identifier -> field_identifier) ))))) ;) (expression_statement "unaff_s2->blob = pvVar7;" (assignment_expression "unaff_s2->blob = pvVar7" (field_expression "unaff_s2->blob" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar5 = (Image *)0x0;" (assignment_expression "pIVar5 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }" else (if_statement "if (pIVar8 == (Image *)0x0) {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }\n                  else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }" if (parenthesized_expression "(pIVar8 == (Image *)0x0)" ( (binary_expression "pIVar8 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);\n                  }" { (expression_statement "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2);" (assignment_expression "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35cf50))(iVar2)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35cf50))(iVar2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar33 + 0x35cf50)" * (pointer_expression "*(code **)(puVar33 + 0x35cf50)" * (cast_expression "(code **)(puVar33 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cf50)" ( (binary_expression "puVar33 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier ))))) ;) }) (else_clause "else {\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }" else (compound_statement "{\n                    pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);\n                  }" { (expression_statement "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1);" (assignment_expression "pIVar5 = (Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1)" identifier = (cast_expression "(Image *)(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar33 + 0x35d3b0))(iVar2,*psVar26 + 1,1)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d3b0))" ( (pointer_expression "**(code **)(puVar33 + 0x35d3b0)" * (pointer_expression "*(code **)(puVar33 + 0x35d3b0)" * (cast_expression "(code **)(puVar33 + 0x35d3b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d3b0)" ( (binary_expression "puVar33 + 0x35d3b0" identifier + number_literal) ))))) )) (argument_list "(iVar2,*psVar26 + 1,1)" ( identifier , (binary_expression "*psVar26 + 1" (pointer_expression "*psVar26" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(**(code **)(puVar33 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar33 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d578))" ( (pointer_expression "**(code **)(puVar33 + 0x35d578)" * (pointer_expression "*(code **)(puVar33 + 0x35d578)" * (cast_expression "(code **)(puVar33 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d578)" ( (binary_expression "puVar33 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "pIVar22 = pIVar8;" (assignment_expression "pIVar22 = pIVar8" identifier = identifier) ;) }))) }))) (expression_statement "unaff_s0 = pIVar22;" (assignment_expression "unaff_s0 = pIVar22" identifier = identifier) ;) (if_statement "if (EStack_108c == pEVar32->severity) {\n            return pIVar5;\n          }" if (parenthesized_expression "(EStack_108c == pEVar32->severity)" ( (binary_expression "EStack_108c == pEVar32->severity" identifier == (field_expression "pEVar32->severity" identifier -> field_identifier)) )) (compound_statement "{\n            return pIVar5;\n          }" { (return_statement "return pIVar5;" return identifier ;) })) (goto_statement "goto LAB_0004c598;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004c5c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }" else (compound_statement "{\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);\nLAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;\n      (**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);\n    }" { (expression_statement "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4);" (call_expression "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d598))" ( (pointer_expression "**(code **)(puVar33 + 0x35d598)" * (pointer_expression "*(code **)(puVar33 + 0x35d598)" * (cast_expression "(code **)(puVar33 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d598)" ( (binary_expression "puVar33 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar33 + 0x35c870) + 0xda0,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar33 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0xda0" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004c598:\n      (**(code **)(puVar33 + 0x35cff4))();" statement_identifier : (expression_statement "(**(code **)(puVar33 + 0x35cff4))();" (call_expression "(**(code **)(puVar33 + 0x35cff4))()" (parenthesized_expression "(**(code **)(puVar33 + 0x35cff4))" ( (pointer_expression "**(code **)(puVar33 + 0x35cff4)" * (pointer_expression "*(code **)(puVar33 + 0x35cff4)" * (cast_expression "(code **)(puVar33 + 0x35cff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35cff4)" ( (binary_expression "puVar33 + 0x35cff4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c5a4:\n      iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;" statement_identifier : (expression_statement "iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4;" (assignment_expression "iVar2 = *(int *)(puVar33 + 0x35c870) + 0x24c4" identifier = (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2);" (call_expression "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d598))" ( (pointer_expression "**(code **)(puVar33 + 0x35d598)" * (pointer_expression "*(code **)(puVar33 + 0x35d598)" * (cast_expression "(code **)(puVar33 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d598)" ( (binary_expression "puVar33 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar33 + 0x35c870) + 0x1e48,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x987,\n                 iVar2)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1e48" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c5c8:\n      iVar2 = iVar2 + 0x24c4;" statement_identifier : (expression_statement "iVar2 = iVar2 + 0x24c4;" (assignment_expression "iVar2 = iVar2 + 0x24c4" identifier = (binary_expression "iVar2 + 0x24c4" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2);" (call_expression "(**(code **)(puVar33 + 0x35d598))\n                (*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d598))" ( (pointer_expression "**(code **)(puVar33 + 0x35d598)" * (pointer_expression "*(code **)(puVar33 + 0x35d598)" * (cast_expression "(code **)(puVar33 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d598)" ( (binary_expression "puVar33 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar33 + 0x35c870) + 0x1cac,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x989,\n                 iVar2)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1cac" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4);" (call_expression "(**(code **)(puVar33 + 0x35d598))\n              (*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4)" (parenthesized_expression "(**(code **)(puVar33 + 0x35d598))" ( (pointer_expression "**(code **)(puVar33 + 0x35d598)" * (pointer_expression "*(code **)(puVar33 + 0x35d598)" * (cast_expression "(code **)(puVar33 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d598)" ( (binary_expression "puVar33 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar33 + 0x35c870) + 0x1e64,*(int *)(puVar33 + 0x35c870) + 0x1ad8,0x988,\n               iVar2 + 0x24c4)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1e64" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar2 + 0x24c4" identifier + number_literal) ))) ;) (expression_statement "unaff_s1 = pIVar5;" (assignment_expression "unaff_s1 = pIVar5" identifier = identifier) ;) })) (expression_statement "pEVar27 = (ExceptionInfo *)0x982;" (assignment_expression "pEVar27 = (ExceptionInfo *)0x982" identifier = (cast_expression "(ExceptionInfo *)0x982" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar36 = *(code **)(puVar33 + 0x35d598);" (assignment_expression "pcVar36 = *(code **)(puVar33 + 0x35d598)" identifier = (pointer_expression "*(code **)(puVar33 + 0x35d598)" * (cast_expression "(code **)(puVar33 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0x35d598)" ( (binary_expression "puVar33 + 0x35d598" identifier + number_literal) ))))) ;) (expression_statement "pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4);" (assignment_expression "pEVar29 = (ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4)" identifier = (cast_expression "(ExceptionInfo *)(*(int *)(puVar33 + 0x35c870) + 0x24c4)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78);" (assignment_expression "pIVar5 = (Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78)" identifier = (cast_expression "(Image *)(*(int *)(puVar33 + 0x35c870) + 0xd78)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x35c870) + 0xd78)" ( (binary_expression "*(int *)(puVar33 + 0x35c870) + 0xd78" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8);" (call_expression "(*pcVar36)(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pIVar5,*(int *)(puVar33 + 0x35c870) + 0x1ad8)" ( identifier , (binary_expression "*(int *)(puVar33 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar33 + 0x35c870)" * (cast_expression "(int *)(puVar33 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x35c870)" ( (binary_expression "puVar33 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (pIVar5 == (Image *)0x0) {\nLAB_0004ca88:\n    pIVar5 = unaff_s0;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pEVar27 = pEVar32;\n    pEVar29 = exception;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }" if (parenthesized_expression "(pIVar5 == (Image *)0x0)" ( (binary_expression "pIVar5 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ca88:\n    pIVar5 = unaff_s0;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pEVar27 = pEVar32;\n    pEVar29 = exception;\n    (**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n  }" { (labeled_statement "LAB_0004ca88:\n    pIVar5 = unaff_s0;" statement_identifier : (expression_statement "pIVar5 = unaff_s0;" (assignment_expression "pIVar5 = unaff_s0" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar36 + 0x35cfdc)" * (cast_expression "(code **)(pcVar36 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cfdc)" ( (binary_expression "pcVar36 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35c2b4) + 0xdd0,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0xdd0" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004caac:\n    pEVar27 = pEVar32;" statement_identifier : (expression_statement "pEVar27 = pEVar32;" (assignment_expression "pEVar27 = pEVar32" identifier = identifier) ;)) (expression_statement "pEVar29 = exception;" (assignment_expression "pEVar29 = exception" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar36 + 0x35cfdc))\n              (*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar36 + 0x35cfdc)" * (cast_expression "(code **)(pcVar36 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cfdc)" ( (binary_expression "pcVar36 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35c2bc) + -0x3784,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2bc) + -0x3784" (pointer_expression "*(int *)(pcVar36 + 0x35c2bc)" * (cast_expression "(int *)(pcVar36 + 0x35c2bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2bc)" ( (binary_expression "pcVar36 + 0x35c2bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }" else (compound_statement "{\n    if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = (Image *)pIVar5->blob;\n    if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }\n    SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;\n    if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }\n  }" { (if_statement "if (pIVar5->signature != 0xabacadab) goto LAB_0004caac;" if (parenthesized_expression "(pIVar5->signature != 0xabacadab)" ( (binary_expression "pIVar5->signature != 0xabacadab" (field_expression "pIVar5->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0004caac;" goto statement_identifier ;)) (if_statement "if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" if (parenthesized_expression "(pIVar5->debug != MagickFalse)" ( (binary_expression "pIVar5->debug != MagickFalse" (field_expression "pIVar5->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" { (expression_statement "(**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7);" (call_expression "(**(code **)(pcVar36 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cbb4))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cbb4)" * (pointer_expression "*(code **)(pcVar36 + 0x35cbb4)" * (cast_expression "(code **)(pcVar36 + 0x35cbb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cbb4)" ( (binary_expression "pcVar36 + 0x35cbb4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar36 + 0x35c2b4) + 0x2270,\n                 0x13e7)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x2270" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s1 = (Image *)pIVar5->blob;" (assignment_expression "unaff_s1 = (Image *)pIVar5->blob" identifier = (cast_expression "(Image *)pIVar5->blob" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar5->blob" identifier -> field_identifier))) ;) (if_statement "if (unaff_s1 == (Image *)0x0) {\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }" if (parenthesized_expression "(unaff_s1 == (Image *)0x0)" ( (binary_expression "unaff_s1 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);\n      unaff_s0 = pIVar5;\n      exception = pEVar29;\n      pEVar32 = pEVar27;\n      goto LAB_0004ca88;\n    }" { (expression_statement "(**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar36 + 0x35cfdc))\n                (*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar36 + 0x35cfdc)" * (cast_expression "(code **)(pcVar36 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cfdc)" ( (binary_expression "pcVar36 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35c2b4) + 0x1aec,*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar36 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1aec" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s0 = pIVar5;" (assignment_expression "unaff_s0 = pIVar5" identifier = identifier) ;) (expression_statement "exception = pEVar29;" (assignment_expression "exception = pEVar29" identifier = identifier) ;) (expression_statement "pEVar32 = pEVar27;" (assignment_expression "pEVar32 = pEVar27" identifier = identifier) ;) (goto_statement "goto LAB_0004ca88;" goto statement_identifier ;) })) (expression_statement "SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz;" (assignment_expression "SVar10 = *(StreamType *)&(unaff_s1->alpha_color).fuzz" identifier = (pointer_expression "*(StreamType *)&(unaff_s1->alpha_color).fuzz" * (cast_expression "(StreamType *)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "StreamType *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (SVar10 != UndefinedStream) {\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }" if (parenthesized_expression "(SVar10 != UndefinedStream)" ( (binary_expression "SVar10 != UndefinedStream" identifier != identifier) )) (compound_statement "{\n      if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }\n      return (void *)0x0;\n    }" { (if_statement "if (SVar10 < BlobStream) {\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }\n      else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(SVar10 < BlobStream)" ( (binary_expression "SVar10 < BlobStream" identifier < identifier) )) (compound_statement "{\n        if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }\n      }" { (if_statement "if (SVar10 < StandardStream) {\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }" if (parenthesized_expression "(SVar10 < StandardStream)" ( (binary_expression "SVar10 < StandardStream" identifier < identifier) )) (compound_statement "{\n          if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }\n          uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }\n        }" { (if_statement "if (SVar10 != FileStream) {\n            return (void *)0x1;\n          }" if (parenthesized_expression "(SVar10 != FileStream)" ( (binary_expression "SVar10 != FileStream" identifier != identifier) )) (compound_statement "{\n            return (void *)0x1;\n          }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (assignment_expression "uVar37 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) ;) (if_statement "if (-1 < (longlong)uVar37) {\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }" if (parenthesized_expression "(-1 < (longlong)uVar37)" ( (binary_expression "-1 < (longlong)uVar37" number_literal < (cast_expression "(longlong)uVar37" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }\n            iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }\n            return (void *)0x1;\n          }" { (if_statement "if (CONCAT44(pEVar27,pEVar29) <= uVar37) {\n              return (void *)0x1;\n            }" if (parenthesized_expression "(CONCAT44(pEVar27,pEVar29) <= uVar37)" ( (binary_expression "CONCAT44(pEVar27,pEVar29) <= uVar37" (call_expression "CONCAT44(pEVar27,pEVar29)" identifier (argument_list "(pEVar27,pEVar29)" ( identifier , identifier ))) <= identifier) )) (compound_statement "{\n              return (void *)0x1;\n            }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) ;) (if_statement "if (-1 < iVar2) {\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n              iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }\n              (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n              return (void *)(uint)(iVar2 == 1);\n            }" { (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35cb28))\n                                (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar36 + 0x35cb28)" * (cast_expression "(code **)(pcVar36 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cb28)" ( (binary_expression "pcVar36 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                                 ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar36 + 0x35c2b8)" * (cast_expression "(int *)(pcVar36 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b8)" ( (binary_expression "pcVar36 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (field_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file" (parenthesized_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))" ( (cast_expression "(FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (type_descriptor "FileInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (binary_expression "(int)&(unaff_s1->alpha_color).fuzz + 4" (cast_expression "(int)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))) )) -> field_identifier) )))) ;) (if_statement "if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }" if (parenthesized_expression "((unaff_s1->alpha_color).colorspace != MagickFalse)" ( (binary_expression "(unaff_s1->alpha_color).colorspace != MagickFalse" (field_expression "(unaff_s1->alpha_color).colorspace" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier) != identifier) )) (compound_statement "{\n                iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n                if (iVar3 == -1) {\n                  return (void *)0x0;\n                }\n                (**(code **)(pcVar36 + 0x35ca14))(iVar3);\n              }" { (expression_statement "iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);" (assignment_expression "iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35d3a0))\n                                  (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar36 + 0x35d3a0)" * (cast_expression "(code **)(pcVar36 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d3a0)" ( (binary_expression "pcVar36 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" ( (field_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file" (parenthesized_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))" ( (cast_expression "(FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (type_descriptor "FileInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (binary_expression "(int)&(unaff_s1->alpha_color).fuzz + 4" (cast_expression "(int)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))) )) -> field_identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n                  return (void *)0x0;\n                }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n                  return (void *)0x0;\n                }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35ca14))(iVar3);" (call_expression "(**(code **)(pcVar36 + 0x35ca14))(iVar3)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar36 + 0x35ca14)" * (cast_expression "(code **)(pcVar36 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ca14)" ( (binary_expression "pcVar36 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier ))) ;) (return_statement "return (void *)(uint)(iVar2 == 1);" return (cast_expression "(void *)(uint)(iVar2 == 1)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar2 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )))) ;) })) (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) }) (else_clause "else {\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }" else (compound_statement "{\n        if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }\n        if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }\n      }" { (if_statement "if (SVar10 != BlobStream) {\n          return (void *)0x1;\n        }" if (parenthesized_expression "(SVar10 != BlobStream)" ( (binary_expression "SVar10 != BlobStream" identifier != identifier) )) (compound_statement "{\n          return (void *)0x1;\n        }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (pEVar27 == (ExceptionInfo *)0x0) {\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }" if (parenthesized_expression "(pEVar27 == (ExceptionInfo *)0x0)" ( (binary_expression "pEVar27 == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;\n          if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }\n          (**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);\n          (**(code **)(pcVar36 + 0x35d0e0))(5);\n          lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n          if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }\n        }" { (expression_statement "uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz;" (assignment_expression "uVar6 = *(undefined4 *)&(unaff_s1->border_color).fuzz" identifier = (pointer_expression "*(undefined4 *)&(unaff_s1->border_color).fuzz" * (cast_expression "(undefined4 *)&(unaff_s1->border_color).fuzz" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_s1->border_color).fuzz" & (field_expression "(unaff_s1->border_color).fuzz" (parenthesized_expression "(unaff_s1->border_color)" ( (field_expression "unaff_s1->border_color" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (unaff_s1->orientation == MagickFalse) {\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }" if (parenthesized_expression "(unaff_s1->orientation == MagickFalse)" ( (binary_expression "unaff_s1->orientation == MagickFalse" (field_expression "unaff_s1->orientation" identifier -> field_identifier) == identifier) )) (compound_statement "{\n            pcVar34 = *(code **)(pcVar36 + 0x35cdf4);\n            unaff_s1->colorspace = (ColorspaceType)pEVar29;\n            uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);\n            *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n            SyncBlob(pIVar5);\n            if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }\n            (**(code **)(pcVar36 + 0x35d140))(unaff_s1);\n            return (void *)0x0;\n          }" { (expression_statement "pcVar34 = *(code **)(pcVar36 + 0x35cdf4);" (assignment_expression "pcVar34 = *(code **)(pcVar36 + 0x35cdf4)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35cdf4)" * (cast_expression "(code **)(pcVar36 + 0x35cdf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cdf4)" ( (binary_expression "pcVar36 + 0x35cdf4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1->colorspace = (ColorspaceType)pEVar29;" (assignment_expression "unaff_s1->colorspace = (ColorspaceType)pEVar29" (field_expression "unaff_s1->colorspace" identifier -> field_identifier) = (cast_expression "(ColorspaceType)pEVar29" ( (type_descriptor "ColorspaceType" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1);" (assignment_expression "uVar6 = (*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1)" identifier = (call_expression "(*pcVar34)(uVar6,(byte *)((int)&pEVar29->severity + 1),1)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(uVar6,(byte *)((int)&pEVar29->severity + 1),1)" ( identifier , (cast_expression "(byte *)((int)&pEVar29->severity + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEVar29->severity + 1)" ( (binary_expression "(int)&pEVar29->severity + 1" (cast_expression "(int)&pEVar29->severity" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEVar29->severity" & (field_expression "pEVar29->severity" identifier -> field_identifier))) + number_literal) ))) , number_literal )))) ;) (expression_statement "*(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;" (assignment_expression "*(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6" (pointer_expression "*(undefined4 *)&(unaff_s1->border_color).fuzz" * (cast_expression "(undefined4 *)&(unaff_s1->border_color).fuzz" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_s1->border_color).fuzz" & (field_expression "(unaff_s1->border_color).fuzz" (parenthesized_expression "(unaff_s1->border_color)" ( (field_expression "unaff_s1->border_color" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "SyncBlob(pIVar5);" (call_expression "SyncBlob(pIVar5)" identifier (argument_list "(pIVar5)" ( identifier ))) ;) (if_statement "if (*(int *)&(unaff_s1->border_color).fuzz != 0) {\n              return (void *)0x1;\n            }" if (parenthesized_expression "(*(int *)&(unaff_s1->border_color).fuzz != 0)" ( (binary_expression "*(int *)&(unaff_s1->border_color).fuzz != 0" (pointer_expression "*(int *)&(unaff_s1->border_color).fuzz" * (cast_expression "(int *)&(unaff_s1->border_color).fuzz" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_s1->border_color).fuzz" & (field_expression "(unaff_s1->border_color).fuzz" (parenthesized_expression "(unaff_s1->border_color)" ( (field_expression "unaff_s1->border_color" identifier -> field_identifier) )) . field_identifier)))) != number_literal) )) (compound_statement "{\n              return (void *)0x1;\n            }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35d140))(unaff_s1);" (call_expression "(**(code **)(pcVar36 + 0x35d140))(unaff_s1)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d140))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d140)" * (pointer_expression "*(code **)(pcVar36 + 0x35d140)" * (cast_expression "(code **)(pcVar36 + 0x35d140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d140)" ( (binary_expression "pcVar36 + 0x35d140" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class);" (call_expression "(**(code **)(pcVar36 + 0x35d09c))(uVar6,unaff_s1->storage_class)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d09c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d09c)" * (pointer_expression "*(code **)(pcVar36 + 0x35d09c)" * (cast_expression "(code **)(pcVar36 + 0x35d09c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d09c)" ( (binary_expression "pcVar36 + 0x35d09c" identifier + number_literal) ))))) )) (argument_list "(uVar6,unaff_s1->storage_class)" ( identifier , (field_expression "unaff_s1->storage_class" identifier -> field_identifier) ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35d0e0))(5);" (call_expression "(**(code **)(pcVar36 + 0x35d0e0))(5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d0e0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d0e0)" * (pointer_expression "*(code **)(pcVar36 + 0x35d0e0)" * (cast_expression "(code **)(pcVar36 + 0x35d0e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d0e0)" ( (binary_expression "pcVar36 + 0x35d0e0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (assignment_expression "lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) ;) (if_statement "if (-1 < lVar38) {\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }" if (parenthesized_expression "(-1 < lVar38)" ( (binary_expression "-1 < lVar38" number_literal < identifier) )) (compound_statement "{\n            if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }\n            if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }\n            lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n            if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }\n            (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);\n            if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }\n          }" { (if_statement "if ((int)((ulonglong)lVar38 >> 0x20) != 0) {\n              return (void *)0x1;\n            }" if (parenthesized_expression "((int)((ulonglong)lVar38 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)lVar38 >> 0x20) != 0" (cast_expression "(int)((ulonglong)lVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar38 >> 0x20)" ( (binary_expression "(ulonglong)lVar38 >> 0x20" (cast_expression "(ulonglong)lVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n              return (void *)0x1;\n            }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (pEVar29 <= (ExceptionInfo *)lVar38) {\n              return (void *)0x1;\n            }" if (parenthesized_expression "(pEVar29 <= (ExceptionInfo *)lVar38)" ( (binary_expression "pEVar29 <= (ExceptionInfo *)lVar38" identifier <= (cast_expression "(ExceptionInfo *)lVar38" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              return (void *)0x1;\n            }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (assignment_expression "lVar38 = (**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier )))) ;) (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35cb28))\n                              (*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar36 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar36 + 0x35cb28)" * (cast_expression "(code **)(pcVar36 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cb28)" ( (binary_expression "pcVar36 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35c2b8) + -0x3688,1,1,\n                               ((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar36 + 0x35c2b8)" * (cast_expression "(int *)(pcVar36 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b8)" ( (binary_expression "pcVar36 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (field_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file" (parenthesized_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))" ( (cast_expression "(FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (type_descriptor "FileInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (binary_expression "(int)&(unaff_s1->alpha_color).fuzz + 4" (cast_expression "(int)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))) )) -> field_identifier) )))) ;) (if_statement "if ((unaff_s1->alpha_color).colorspace != MagickFalse) {\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }" if (parenthesized_expression "((unaff_s1->alpha_color).colorspace != MagickFalse)" ( (binary_expression "(unaff_s1->alpha_color).colorspace != MagickFalse" (field_expression "(unaff_s1->alpha_color).colorspace" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier) != identifier) )) (compound_statement "{\n              iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              if (iVar3 == -1) {\n                return (void *)0x0;\n              }\n              if (lVar38 < 0) {\n                return (void *)0x0;\n              }\n              (**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);\n            }" { (expression_statement "iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);" (assignment_expression "iVar3 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar36 + 0x35d3a0)" * (cast_expression "(code **)(pcVar36 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d3a0)" ( (binary_expression "pcVar36 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" ( (field_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file" (parenthesized_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))" ( (cast_expression "(FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (type_descriptor "FileInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (binary_expression "(int)&(unaff_s1->alpha_color).fuzz + 4" (cast_expression "(int)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))) )) -> field_identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n                return (void *)0x0;\n              }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n                return (void *)0x0;\n              }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (lVar38 < 0) {\n                return (void *)0x0;\n              }" if (parenthesized_expression "(lVar38 < 0)" ( (binary_expression "lVar38 < 0" identifier < number_literal) )) (compound_statement "{\n                return (void *)0x0;\n              }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38);" (call_expression "(**(code **)(pcVar36 + 0x35ca14))\n                        (iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar36 + 0x35ca14)" * (cast_expression "(code **)(pcVar36 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ca14)" ( (binary_expression "pcVar36 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar3,pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38),\n                         (int)((ulonglong)lVar38 >> 0x20),(int)lVar38)" ( identifier , (binary_expression "pEVar29 < (ExceptionInfo *)((int)pEVar29 - (int)lVar38)" identifier < (cast_expression "(ExceptionInfo *)((int)pEVar29 - (int)lVar38)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEVar29 - (int)lVar38)" ( (binary_expression "(int)pEVar29 - (int)lVar38" (cast_expression "(int)pEVar29" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)lVar38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (cast_expression "(int)((ulonglong)lVar38 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar38 >> 0x20)" ( (binary_expression "(ulonglong)lVar38 >> 0x20" (cast_expression "(ulonglong)lVar38" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar38" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5);" (call_expression "(**(code **)(pcVar36 + 0x35ccfc))(pIVar5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar36 + 0x35ccfc)" * (cast_expression "(code **)(pcVar36 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ccfc)" ( (binary_expression "pcVar36 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(pIVar5)" ( identifier ))) ;) (if_statement "if (iVar2 == 1) {\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }" if (parenthesized_expression "(iVar2 == 1)" ( (binary_expression "iVar2 == 1" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar36 + 0x35d1f0))(5);\n              uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);\n              uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);\n              *(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;\n              unaff_s1->colorspace = (ColorspaceType)pEVar29;\n              unaff_s1->storage_class = (ClassType)pEVar29;\n              SyncBlob(pIVar5);\n              return (void *)0x1;\n            }" { (expression_statement "(**(code **)(pcVar36 + 0x35d1f0))(5);" (call_expression "(**(code **)(pcVar36 + 0x35d1f0))(5)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d1f0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d1f0)" * (pointer_expression "*(code **)(pcVar36 + 0x35d1f0)" * (cast_expression "(code **)(pcVar36 + 0x35d1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d1f0)" ( (binary_expression "pcVar36 + 0x35d1f0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35d3a0))\n                                (((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar36 + 0x35d3a0)" * (cast_expression "(code **)(pcVar36 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d3a0)" ( (binary_expression "pcVar36 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file)" ( (field_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))->file" (parenthesized_expression "((FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4))" ( (cast_expression "(FileInfo *)((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (type_descriptor "FileInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s1->alpha_color).fuzz + 4)" ( (binary_expression "(int)&(unaff_s1->alpha_color).fuzz + 4" (cast_expression "(int)&(unaff_s1->alpha_color).fuzz" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s1->alpha_color).fuzz" & (field_expression "(unaff_s1->alpha_color).fuzz" (parenthesized_expression "(unaff_s1->alpha_color)" ( (field_expression "unaff_s1->alpha_color" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))) )) -> field_identifier) )))) ;) (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35d160))(uVar6,1,0,0)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35d160))" ( (pointer_expression "**(code **)(pcVar36 + 0x35d160)" * (pointer_expression "*(code **)(pcVar36 + 0x35d160)" * (cast_expression "(code **)(pcVar36 + 0x35d160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35d160)" ( (binary_expression "pcVar36 + 0x35d160" identifier + number_literal) ))))) )) (argument_list "(uVar6,1,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "*(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6;" (assignment_expression "*(undefined4 *)&(unaff_s1->border_color).fuzz = uVar6" (pointer_expression "*(undefined4 *)&(unaff_s1->border_color).fuzz" * (cast_expression "(undefined4 *)&(unaff_s1->border_color).fuzz" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_s1->border_color).fuzz" & (field_expression "(unaff_s1->border_color).fuzz" (parenthesized_expression "(unaff_s1->border_color)" ( (field_expression "unaff_s1->border_color" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "unaff_s1->colorspace = (ColorspaceType)pEVar29;" (assignment_expression "unaff_s1->colorspace = (ColorspaceType)pEVar29" (field_expression "unaff_s1->colorspace" identifier -> field_identifier) = (cast_expression "(ColorspaceType)pEVar29" ( (type_descriptor "ColorspaceType" type_identifier) ) identifier)) ;) (expression_statement "unaff_s1->storage_class = (ClassType)pEVar29;" (assignment_expression "unaff_s1->storage_class = (ClassType)pEVar29" (field_expression "unaff_s1->storage_class" identifier -> field_identifier) = (cast_expression "(ClassType)pEVar29" ( (type_descriptor "ClassType" type_identifier) ) identifier)) ;) (expression_statement "SyncBlob(pIVar5);" (call_expression "SyncBlob(pIVar5)" identifier (argument_list "(pIVar5)" ( identifier ))) ;) (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) })) }))) (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pEVar32 = (ExceptionInfo *)&DAT_000013e9;" (assignment_expression "pEVar32 = (ExceptionInfo *)&DAT_000013e9" identifier = (cast_expression "(ExceptionInfo *)&DAT_000013e9" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000013e9" & identifier))) ;) (expression_statement "pcVar34 = *(code **)(pcVar36 + 0x35cfdc);" (assignment_expression "pcVar34 = *(code **)(pcVar36 + 0x35cfdc)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35cfdc)" * (cast_expression "(code **)(pcVar36 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35cfdc)" ( (binary_expression "pcVar36 + 0x35cfdc" identifier + number_literal) ))))) ;) (expression_statement "pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8);" (assignment_expression "pIVar23 = (ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10);" (assignment_expression "pIVar22 = (Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10)" identifier = (cast_expression "(Image *)(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + 0x35c2b4) + 0x1b10)" ( (binary_expression "*(int *)(pcVar36 + 0x35c2b4) + 0x1b10" (pointer_expression "*(int *)(pcVar36 + 0x35c2b4)" * (cast_expression "(int *)(pcVar36 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35c2b4)" ( (binary_expression "pcVar36 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar34)();" (call_expression "(*pcVar34)()" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (pIVar22 == (Image *)0x0) {\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);\n    pIVar22 = unaff_s1;\nLAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);\nLAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }" if (parenthesized_expression "(pIVar22 == (Image *)0x0)" ( (binary_expression "pIVar22 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);\n    pIVar22 = unaff_s1;\nLAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;\n    (*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);\nLAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);\n  }" { (expression_statement "pcVar36 = *(code **)(pcVar34 + 0x35cb14);" (assignment_expression "pcVar36 = *(code **)(pcVar34 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35cb14)" * (cast_expression "(code **)(pcVar34 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35cb14)" ( (binary_expression "pcVar34 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8;" (assignment_expression "iVar2 = *(int *)(pcVar34 + 0x35bdec) + 0x21d8" identifier = (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2);" (call_expression "(*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(*(int *)(pcVar34 + 0x35bdec) + 0xdd0,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar2)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0xdd0" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "pIVar22 = unaff_s1;" (assignment_expression "pIVar22 = unaff_s1" identifier = identifier) ;) (labeled_statement "LAB_0004cf00:\n    iVar2 = iVar2 + 0x21d8;" statement_identifier : (expression_statement "iVar2 = iVar2 + 0x21d8;" (assignment_expression "iVar2 = iVar2 + 0x21d8" identifier = (binary_expression "iVar2 + 0x21d8" identifier + number_literal)) ;)) (expression_statement "(*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2);" (call_expression "(*pcVar36)(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(*(int *)(pcVar34 + 0x35bdec) + 0x1b10,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar2)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1b10" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004cf1c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8);" (call_expression "(**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar34 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar34 + 0x35cb14)" * (cast_expression "(code **)(pcVar34 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35cb14)" ( (binary_expression "pcVar34 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35bdec) + 0x1aec,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar2 + 0x21d8)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1aec" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar2 + 0x21d8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004cf3c:\n    (**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8);" (call_expression "(**(code **)(pcVar34 + 0x35cb14))\n              (*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar34 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar34 + 0x35cb14)" * (cast_expression "(code **)(pcVar34 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35cb14)" ( (binary_expression "pcVar34 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35bdf4) + -0x3784,*(int *)(pcVar34 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar34 + 0x35bdec) + 0x21d8)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdf4) + -0x3784" (pointer_expression "*(int *)(pcVar34 + 0x35bdf4)" * (cast_expression "(int *)(pcVar34 + 0x35bdf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdf4)" ( (binary_expression "pcVar34 + 0x35bdf4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }" else (compound_statement "{\n    if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;\n    pIVar5 = (Image *)pIVar22->blob;\n    iVar2 = *(int *)(pcVar34 + 0x35bdec);\n    if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;\n    uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;\n    pcVar36 = *(code **)(pcVar34 + 0x35cb14);\n    if (uVar11 == 0) goto LAB_0004cf00;\n    if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }\n    unaff_s2 = pIVar23;\n    pEVar27 = pEVar32;\n    if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }\n  }" { (if_statement "if (pIVar22->signature != 0xabacadab) goto LAB_0004cf3c;" if (parenthesized_expression "(pIVar22->signature != 0xabacadab)" ( (binary_expression "pIVar22->signature != 0xabacadab" (field_expression "pIVar22->signature" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0004cf3c;" goto statement_identifier ;)) (expression_statement "pIVar5 = (Image *)pIVar22->blob;" (assignment_expression "pIVar5 = (Image *)pIVar22->blob" identifier = (cast_expression "(Image *)pIVar22->blob" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pIVar22->blob" identifier -> field_identifier))) ;) (expression_statement "iVar2 = *(int *)(pcVar34 + 0x35bdec);" (assignment_expression "iVar2 = *(int *)(pcVar34 + 0x35bdec)" identifier = (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) ))))) ;) (if_statement "if (pIVar5 == (Image *)0x0) goto LAB_0004cf1c;" if (parenthesized_expression "(pIVar5 == (Image *)0x0)" ( (binary_expression "pIVar5 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004cf1c;" goto statement_identifier ;)) (expression_statement "uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz;" (assignment_expression "uVar11 = *(uint *)&(pIVar5->alpha_color).fuzz" identifier = (pointer_expression "*(uint *)&(pIVar5->alpha_color).fuzz" * (cast_expression "(uint *)&(pIVar5->alpha_color).fuzz" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pIVar5->alpha_color).fuzz" & (field_expression "(pIVar5->alpha_color).fuzz" (parenthesized_expression "(pIVar5->alpha_color)" ( (field_expression "pIVar5->alpha_color" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "pcVar36 = *(code **)(pcVar34 + 0x35cb14);" (assignment_expression "pcVar36 = *(code **)(pcVar34 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35cb14)" * (cast_expression "(code **)(pcVar34 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35cb14)" ( (binary_expression "pcVar34 + 0x35cb14" identifier + number_literal) ))))) ;) (if_statement "if (uVar11 == 0) goto LAB_0004cf00;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004cf00;" goto statement_identifier ;)) (if_statement "if (pIVar23 == (ImageInfo *)0x0) {\n      return (void *)0x0;\n    }" if (parenthesized_expression "(pIVar23 == (ImageInfo *)0x0)" ( (binary_expression "pIVar23 == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (void *)0x0;\n    }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "unaff_s2 = pIVar23;" (assignment_expression "unaff_s2 = pIVar23" identifier = identifier) ;) (expression_statement "pEVar27 = pEVar32;" (assignment_expression "pEVar27 = pEVar32" identifier = identifier) ;) (if_statement "if (pEVar32 != (ExceptionInfo *)0x0) {\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }" if (parenthesized_expression "(pEVar32 != (ExceptionInfo *)0x0)" ( (binary_expression "pEVar32 != (ExceptionInfo *)0x0" identifier != (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }\n      return (void *)0x0;\n    }" { (if_statement "if (uVar11 < 9) {\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }" if (parenthesized_expression "(uVar11 < 9)" ( (binary_expression "uVar11 < 9" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();\n        return pvVar7;\n      }" { comment comment (expression_statement "pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))();" (assignment_expression "pvVar7 = (void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))()" identifier = (cast_expression "(void *)(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))()" (parenthesized_expression "(*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)))" ( (pointer_expression "*(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4))" * (parenthesized_expression "(pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4))" ( (binary_expression "pcVar34 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)" (binary_expression "pcVar34 +\n                           (int)&DWORD_00363dbc" identifier + (cast_expression "(int)&DWORD_00363dbc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DWORD_00363dbc" & identifier))) + (pointer_expression "*(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)" * (cast_expression "(int *)(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x20b4 + uVar11 * 4" (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x20b4" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar11 * 4" identifier * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return pvVar7;" return identifier ;) })) (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "uVar6 = 0x15f3;" (assignment_expression "uVar6 = 0x15f3" identifier = number_literal) ;) (expression_statement "pcVar35 = *(code **)(pcVar34 + 0x35cb14);" (assignment_expression "pcVar35 = *(code **)(pcVar34 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35cb14)" * (cast_expression "(code **)(pcVar34 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35cb14)" ( (binary_expression "pcVar34 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8);" (assignment_expression "pIVar23 = (ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x35bdec) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8);" (assignment_expression "pIVar21 = (Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8)" identifier = (cast_expression "(Image *)(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x35bdec) + 0x1fa8)" ( (binary_expression "*(int *)(pcVar34 + 0x35bdec) + 0x1fa8" (pointer_expression "*(int *)(pcVar34 + 0x35bdec)" * (cast_expression "(int *)(pcVar34 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35bdec)" ( (binary_expression "pcVar34 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar35)();" (call_expression "(*pcVar35)()" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar36 = pcVar35 + 0x363930;" (assignment_expression "pcVar36 = pcVar35 + 0x363930" identifier = (binary_expression "pcVar35 + 0x363930" identifier + number_literal)) ;) (expression_statement "piStack_3224 = *(int **)(pcVar35 + 0x35c2b0);" (assignment_expression "piStack_3224 = *(int **)(pcVar35 + 0x35c2b0)" identifier = (pointer_expression "*(int **)(pcVar35 + 0x35c2b0)" * (cast_expression "(int **)(pcVar35 + 0x35c2b0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x35c2b0)" ( (binary_expression "pcVar35 + 0x35c2b0" identifier + number_literal) ))))) ;) (expression_statement "iStack_316c = *piStack_3224;" (assignment_expression "iStack_316c = *piStack_3224" identifier = (pointer_expression "*piStack_3224" * identifier)) ;) (expression_statement "pIVar8 = pIVar22;" (assignment_expression "pIVar8 = pIVar22" identifier = identifier) ;) (expression_statement "pcStack_3230 = pcVar36;" (assignment_expression "pcStack_3230 = pcVar36" identifier = identifier) ;) (expression_statement "uStack_3220 = uVar6;" (assignment_expression "uStack_3220 = uVar6" identifier = identifier) ;) (expression_statement "pIStack_3168 = pIVar5;" (assignment_expression "pIStack_3168 = pIVar5" identifier = identifier) ;) (expression_statement "pIStack_3164 = pIVar22;" (assignment_expression "pIStack_3164 = pIVar22" identifier = identifier) ;) (expression_statement "pIStack_3160 = unaff_s2;" (assignment_expression "pIStack_3160 = unaff_s2" identifier = identifier) ;) (expression_statement "pEStack_315c = pEVar29;" (assignment_expression "pEStack_315c = pEVar29" identifier = identifier) ;) (expression_statement "pEStack_3158 = pEVar27;" (assignment_expression "pEStack_3158 = pEVar27" identifier = identifier) ;) (expression_statement "psStack_3154 = length;" (assignment_expression "psStack_3154 = length" identifier = identifier) ;) (expression_statement "pcStack_3150 = unaff_s6;" (assignment_expression "pcStack_3150 = unaff_s6" identifier = identifier) ;) (expression_statement "pBStack_314c = unaff_s7;" (assignment_expression "pBStack_314c = unaff_s7" identifier = identifier) ;) (if_statement "if (pIVar21 == (Image *)0x0) {\nLAB_0004d5d8:\n    pIVar23 = unaff_s2;\n    pIVar21 = pIVar5;\n    pEVar32 = (ExceptionInfo *)0x664;\n    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;\n    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);\n    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar36 + -0x72a8))();\n  }\n  else {\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }" if (parenthesized_expression "(pIVar21 == (Image *)0x0)" ( (binary_expression "pIVar21 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d5d8:\n    pIVar23 = unaff_s2;\n    pIVar21 = pIVar5;\n    pEVar32 = (ExceptionInfo *)0x664;\n    uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;\n    pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);\n    iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar36 + -0x72a8))();\n  }" { (labeled_statement "LAB_0004d5d8:\n    pIVar23 = unaff_s2;" statement_identifier : (expression_statement "pIVar23 = unaff_s2;" (assignment_expression "pIVar23 = unaff_s2" identifier = identifier) ;)) (expression_statement "pIVar21 = pIVar5;" (assignment_expression "pIVar21 = pIVar5" identifier = identifier) ;) (expression_statement "pEVar32 = (ExceptionInfo *)0x664;" (assignment_expression "pEVar32 = (ExceptionInfo *)0x664" identifier = (cast_expression "(ExceptionInfo *)0x664" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c;" (assignment_expression "uVar11 = *(int *)(pcVar36 + -0x7fd0) + 0x260c" identifier = (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8);" (assignment_expression "pIVar5 = (Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8)" identifier = (cast_expression "(Image *)(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar36 + -0x7fd0) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0;" (assignment_expression "iVar2 = *(int *)(pcVar36 + -0x7fc8) + -0x37b0" identifier = (binary_expression "*(int *)(pcVar36 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(pcVar36 + -0x7fc8)" * (cast_expression "(int *)(pcVar36 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fc8)" ( (binary_expression "pcVar36 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + -0x72a8))();" (call_expression "(**(code **)(pcVar36 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar36 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar36 + -0x72a8)" * (pointer_expression "*(code **)(pcVar36 + -0x72a8)" * (cast_expression "(code **)(pcVar36 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x72a8)" ( (binary_expression "pcVar36 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }" else (compound_statement "{\n    if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }\n    if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;\n    uVar11 = 0x667;\n    pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;\n    pIStack_3244 = pIVar23;\n    pEStack_321c = pEVar27;\n    pEStack_3218 = pEVar29;\n    (**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);\n    iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);\n    if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }\nLAB_0004d2c8:\n    iVar2 = iStack_316c;\n    pcVar36 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }\n  }" { (if_statement "if (pIVar21->signature != 0xabacadab) {\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }" if (parenthesized_expression "(pIVar21->signature != 0xabacadab)" ( (binary_expression "pIVar21->signature != 0xabacadab" (field_expression "pIVar21->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_0004d590:\n      pIVar23 = unaff_s2;\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);\n      pIVar5 = pIVar21;\n      pIVar8 = pIVar22;\n      unaff_s2 = pIVar23;\n      goto LAB_0004d5d8;\n    }" { (labeled_statement "LAB_0004d590:\n      pIVar23 = unaff_s2;" statement_identifier : (expression_statement "pIVar23 = unaff_s2;" (assignment_expression "pIVar23 = unaff_s2" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar36 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar36 + -0x72a8)" * (pointer_expression "*(code **)(pcVar36 + -0x72a8)" * (cast_expression "(code **)(pcVar36 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x72a8)" ( (binary_expression "pcVar36 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + -0x7fc8) + -0x3784,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar36 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(pcVar36 + -0x7fc8)" * (cast_expression "(int *)(pcVar36 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fc8)" ( (binary_expression "pcVar36 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004d5b4:\n      (**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar36 + -0x72a8))\n                (*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar36 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar36 + -0x72a8)" * (pointer_expression "*(code **)(pcVar36 + -0x72a8)" * (cast_expression "(code **)(pcVar36 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x72a8)" ( (binary_expression "pcVar36 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + -0x7fd0) + 0x1b68,*(int *)(pcVar36 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar36 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x1b68" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "pIVar5 = pIVar21;" (assignment_expression "pIVar5 = pIVar21" identifier = identifier) ;) (expression_statement "pIVar8 = pIVar22;" (assignment_expression "pIVar8 = pIVar22" identifier = identifier) ;) (expression_statement "unaff_s2 = pIVar23;" (assignment_expression "unaff_s2 = pIVar23" identifier = identifier) ;) (goto_statement "goto LAB_0004d5d8;" goto statement_identifier ;) })) (if_statement "if (pIVar23 == (ImageInfo *)0x0) goto LAB_0004d5b4;" if (parenthesized_expression "(pIVar23 == (ImageInfo *)0x0)" ( (binary_expression "pIVar23 == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d5b4;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x667;" (assignment_expression "uVar11 = 0x667" identifier = number_literal) ;) (expression_statement "pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960);" (assignment_expression "pEVar29 = *(ExceptionInfo **)(pcVar35 + 0x35b960)" identifier = (pointer_expression "*(ExceptionInfo **)(pcVar35 + 0x35b960)" * (cast_expression "(ExceptionInfo **)(pcVar35 + 0x35b960)" ( (type_descriptor "ExceptionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x35b960)" ( (binary_expression "pcVar35 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960);" (assignment_expression "pEVar27 = *(ExceptionInfo **)(pcVar35 + 0x35b960)" identifier = (pointer_expression "*(ExceptionInfo **)(pcVar35 + 0x35b960)" * (cast_expression "(ExceptionInfo **)(pcVar35 + 0x35b960)" ( (type_descriptor "ExceptionInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x35b960)" ( (binary_expression "pcVar35 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac;" (assignment_expression "iStack_3248 = *(int *)(pcVar35 + 0x35b964) + -0x62ac" identifier = (binary_expression "*(int *)(pcVar35 + 0x35b964) + -0x62ac" (pointer_expression "*(int *)(pcVar35 + 0x35b964)" * (cast_expression "(int *)(pcVar35 + 0x35b964)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar35 + 0x35b964)" ( (binary_expression "pcVar35 + 0x35b964" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIStack_3244 = pIVar23;" (assignment_expression "pIStack_3244 = pIVar23" identifier = identifier) ;) (expression_statement "pEStack_321c = pEVar27;" (assignment_expression "pEStack_321c = pEVar27" identifier = identifier) ;) (expression_statement "pEStack_3218 = pEVar29;" (assignment_expression "pEStack_3218 = pEVar29" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130);" (call_expression "(**(code **)(pcVar35 + 0x35c260))(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130)" (parenthesized_expression "(**(code **)(pcVar35 + 0x35c260))" ( (pointer_expression "**(code **)(pcVar35 + 0x35c260)" * (pointer_expression "*(code **)(pcVar35 + 0x35c260)" * (cast_expression "(code **)(pcVar35 + 0x35c260)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar35 + 0x35c260)" ( (binary_expression "pcVar35 + 0x35c260" identifier + number_literal) ))))) )) (argument_list "(0x8000,&pEVar27[0xd6].semaphore,pEVar29 + 0x130)" ( number_literal , (pointer_expression "&pEVar27[0xd6].semaphore" & (field_expression "pEVar27[0xd6].semaphore" (subscript_expression "pEVar27[0xd6]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "pEVar29 + 0x130" identifier + number_literal) ))) ;) (expression_statement "iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23);" (assignment_expression "iVar2 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7b00))(4,2,pIVar23)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7b00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7b00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7b00)" * (cast_expression "(code **)(pcStack_3230 + -0x7b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7b00)" ( (binary_expression "pcStack_3230 + -0x7b00" identifier + number_literal) ))))) )) (argument_list "(4,2,pIVar23)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }\n    else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar11 = 0x66c;\n      *puVar14 = 1;\n      pEVar32 = pEVar29 + 0x130;\n      pIVar5 = (Image *)&pEVar27[0xd6].semaphore;\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      pIStack_323c = pIVar23;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      pIVar8 = (Image *)0x0;\n    }" { (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar11 = 0x66c;" (assignment_expression "uVar11 = 0x66c" identifier = number_literal) ;) (expression_statement "*puVar14 = 1;" (assignment_expression "*puVar14 = 1" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "pEVar32 = pEVar29 + 0x130;" (assignment_expression "pEVar32 = pEVar29 + 0x130" identifier = (binary_expression "pEVar29 + 0x130" identifier + number_literal)) ;) (expression_statement "pIVar5 = (Image *)&pEVar27[0xd6].semaphore;" (assignment_expression "pIVar5 = (Image *)&pEVar27[0xd6].semaphore" identifier = (cast_expression "(Image *)&pEVar27[0xd6].semaphore" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEVar27[0xd6].semaphore" & (field_expression "pEVar27[0xd6].semaphore" (subscript_expression "pEVar27[0xd6]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);" (assignment_expression "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 499;" (assignment_expression "iStack_3248 = 499" identifier = number_literal) ;) (expression_statement "pIStack_323c = pIVar23;" (assignment_expression "pIStack_323c = pIVar23" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }" else (compound_statement "{\n      pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pEVar32 = pEStack_3218 + 0x130;\n      pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n      pIVar8 = (Image *)0x0;\n      pIStack_323c = pIVar23;\n      pIStack_3238 = pIVar21;\n      (*pcVar36)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n    }" { (expression_statement "pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec));" (assignment_expression "pEVar29 = (ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec))" identifier = (cast_expression "(ExceptionInfo *)\n                (**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6ee4))(**(undefined4 **)(pcStack_3230 + -0x78ec))" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6ee4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6ee4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6ee4)" * (cast_expression "(code **)(pcStack_3230 + -0x6ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6ee4)" ( (binary_expression "pcStack_3230 + -0x6ee4" identifier + number_literal) ))))) )) (argument_list "(**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (pointer_expression "**(undefined4 **)(pcStack_3230 + -0x78ec)" * (pointer_expression "*(undefined4 **)(pcStack_3230 + -0x78ec)" * (cast_expression "(undefined4 **)(pcStack_3230 + -0x78ec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78ec)" ( (binary_expression "pcStack_3230 + -0x78ec" identifier + number_literal) ))))) ))))) ;) (expression_statement "iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);" (assignment_expression "iVar2 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x77a0))\n                        (pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x77a0)" * (cast_expression "(code **)(pcStack_3230 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x77a0)" ( (binary_expression "pcStack_3230 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(pIVar23,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" ( identifier , (binary_expression "*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac" (pointer_expression "*(int *)(pcStack_3230 + -0x7fc4)" * (cast_expression "(int *)(pcStack_3230 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fc4)" ( (binary_expression "pcStack_3230 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\n        if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);\n        if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }\n        pIVar22 = (Image *)(*pcVar36)(pEVar27,1);\n        if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n        puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }" { (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (if_statement "if (pEVar29 == (ExceptionInfo *)0xffffffff) goto LAB_0004d3d0;" if (parenthesized_expression "(pEVar29 == (ExceptionInfo *)0xffffffff)" ( (binary_expression "pEVar29 == (ExceptionInfo *)0xffffffff" identifier == (cast_expression "(ExceptionInfo *)0xffffffff" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d3d0;" goto statement_identifier ;)) (labeled_statement "LAB_0004d08c:\n        iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);" statement_identifier : (expression_statement "iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210);" (assignment_expression "iVar2 = (**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7a08))(3,pEVar29,auStack_3210)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7a08))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7a08)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7a08)" * (cast_expression "(code **)(pcStack_3230 + -0x7a08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7a08)" ( (binary_expression "pcStack_3230 + -0x7a08" identifier + number_literal) ))))) )) (argument_list "(3,pEVar29,auStack_3210)" ( number_literal , identifier , identifier )))) ;)) (if_statement "if (((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)) {\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }" if (parenthesized_expression "(((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32))" ( (binary_expression "((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)) ||\n           (pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)" (parenthesized_expression "((iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0))" ( (binary_expression "(iVar2 != 0) ||\n            (pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) || (parenthesized_expression "(pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0)" ( (comma_expression "pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3),\n            (uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0" (assignment_expression "pEVar32 = (ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3)" identifier = (cast_expression "(ExceptionInfo *)((int)&pEStack_31d4[-1].signature + 3)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pEStack_31d4[-1].signature + 3)" ( (binary_expression "(int)&pEStack_31d4[-1].signature + 3" (cast_expression "(int)&pEStack_31d4[-1].signature" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pEStack_31d4[-1].signature" & (field_expression "pEStack_31d4[-1].signature" (subscript_expression "pEStack_31d4[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) , (binary_expression "(uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1 != 0" (binary_expression "(uint)(pEVar32 < pEStack_31d4) + iStack_31d8 + -1" (binary_expression "(uint)(pEVar32 < pEStack_31d4) + iStack_31d8" (call_expression "(uint)(pEVar32 < pEStack_31d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEVar32 < pEStack_31d4)" ( (binary_expression "pEVar32 < pEStack_31d4" identifier < identifier) ))) + identifier) + number_literal) != number_literal)) ))) )) || (parenthesized_expression "(pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32)" ( (comma_expression "pcVar36 = *(code **)(pcStack_3230 + -0x73a4), pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) , (comma_expression "pEVar27 = pEStack_31d4,\n           (ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32" (assignment_expression "pEVar27 = pEStack_31d4" identifier = identifier) , (binary_expression "(ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < pEVar32" (cast_expression "(ExceptionInfo *)((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0x16e].st_value + 2" (cast_expression "(int)&__DT_SYMTAB[0x16e].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x16e].st_value" & (field_expression "__DT_SYMTAB[0x16e].st_value" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < identifier))) ))) )) (compound_statement "{\n          pcVar36 = *(code **)(pcStack_3230 + -0x73a4);\n          pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;\n        }" { (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x73a4);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) ;) (expression_statement "pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size;" (assignment_expression "pEVar27 = (ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size" identifier = (cast_expression "(ExceptionInfo *)&__DT_SYMTAB[0x16e].st_size" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x16e].st_size" & (field_expression "__DT_SYMTAB[0x16e].st_size" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier)))) ;) })) (expression_statement "pIVar22 = (Image *)(*pcVar36)(pEVar27,1);" (assignment_expression "pIVar22 = (Image *)(*pcVar36)(pEVar27,1)" identifier = (cast_expression "(Image *)(*pcVar36)(pEVar27,1)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)(pEVar27,1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pEVar27,1)" ( identifier , number_literal ))))) ;) (if_statement "if (pIVar22 != (Image *)0x0) {\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }" if (parenthesized_expression "(pIVar22 != (Image *)0x0)" ( (binary_expression "pIVar22 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          length = (size_t *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );\n        }" { (expression_statement "length = (size_t *)&DAT_00000007;" (assignment_expression "length = (size_t *)&DAT_00000007" identifier = (cast_expression "(size_t *)&DAT_00000007" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_0004d0d0:\n          pcVar36 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0004d0d4:\n          do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );" statement_identifier : (do_statement "do {\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          } while( true );" do (compound_statement "{\n            pIVar5 = pIVar22;\n            pEVar32 = pEVar27;\n            unaff_s8 = (*pcVar36)(pEVar29);\n            if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar36 = pcStack_3230;\n            unaff_s7 = pIVar21->blob;\n            pEVar32 = pEStack_321c;\n            if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar13 = (uint)unaff_s7->offset;\n            uVar11 = unaff_s7->extent;\n            if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);\n            iVar2 = *(int *)&unaff_s7->offset;\n            uVar13 = unaff_s8 + (int)unaff_s7->offset;\n            uVar24 = unaff_s7->length;\n            *(uint *)((int)&unaff_s7->offset + 4) = uVar13;\n            pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;\n            *(char **)&unaff_s7->offset = pcVar4;\n            if ((int)pcVar4 < 0) goto LAB_0004d0d0;\n            if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;\n          }" { (expression_statement "pIVar5 = pIVar22;" (assignment_expression "pIVar5 = pIVar22" identifier = identifier) ;) (expression_statement "pEVar32 = pEVar27;" (assignment_expression "pEVar32 = pEVar27" identifier = identifier) ;) (expression_statement "unaff_s8 = (*pcVar36)(pEVar29);" (assignment_expression "unaff_s8 = (*pcVar36)(pEVar29)" identifier = (call_expression "(*pcVar36)(pEVar29)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pEVar29)" ( identifier )))) ;) (if_statement "if ((int)unaff_s8 < 1) {\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }" if (parenthesized_expression "((int)unaff_s8 < 1)" ( (binary_expression "(int)unaff_s8 < 1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);\n              if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }\n              pIVar8 = (Image *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(pIVar22);\n              goto LAB_0004d2c8;\n            }" { (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar12 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" if (parenthesized_expression "(*piVar12 == 4)" ( (binary_expression "*piVar12 == 4" (pointer_expression "*piVar12" * identifier) == number_literal) )) (compound_statement "{\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d114;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d29c:\n              iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);" statement_identifier : (expression_statement "iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29);" (assignment_expression "iVar2 = (**(code **)(pcStack_3230 + -0x7754))(pEVar29)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7754))(pEVar29)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(pEVar29)" ( identifier )))) ;)) (if_statement "if (iVar2 == -1) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x696;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n              }" { (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);" (assignment_expression "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" identifier = (cast_expression "(Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "uVar11 = 0x696;" (assignment_expression "uVar11 = 0x696" identifier = number_literal) ;) (expression_statement "pEVar32 = pEStack_3218 + 0x130;" (assignment_expression "pEVar32 = pEStack_3218 + 0x130" identifier = (binary_expression "pEStack_3218 + 0x130" identifier + number_literal)) ;) (expression_statement "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;" (assignment_expression "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore" identifier = (cast_expression "(Image *)&pEStack_321c[0xd6].semaphore" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_321c[0xd6].semaphore" & (field_expression "pEStack_321c[0xd6].semaphore" (subscript_expression "pEStack_321c[0xd6]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "pIStack_323c = pIVar23;" (assignment_expression "pIStack_323c = pIVar23" identifier = identifier) ;) (expression_statement "pIStack_3238 = pIVar21;" (assignment_expression "pIStack_3238 = pIVar21" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(pIVar21);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(pIVar21)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(pIVar21)" ( identifier ))) ;) })) (expression_statement "pIVar8 = (Image *)0x1;" (assignment_expression "pIVar8 = (Image *)0x1" identifier = (cast_expression "(Image *)0x1" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x78f0))(pIVar22);" (call_expression "(**(code **)(pcStack_3230 + -0x78f0))(pIVar22)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x78f0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x78f0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x78f0)" * (cast_expression "(code **)(pcStack_3230 + -0x78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78f0)" ( (binary_expression "pcStack_3230 + -0x78f0" identifier + number_literal) ))))) )) (argument_list "(pIVar22)" ( identifier ))) ;) (goto_statement "goto LAB_0004d2c8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d114:\n            pcVar36 = pcStack_3230;" statement_identifier : (expression_statement "pcVar36 = pcStack_3230;" (assignment_expression "pcVar36 = pcStack_3230" identifier = identifier) ;)) (expression_statement "unaff_s7 = pIVar21->blob;" (assignment_expression "unaff_s7 = pIVar21->blob" identifier = (field_expression "pIVar21->blob" identifier -> field_identifier)) ;) (expression_statement "pEVar32 = pEStack_321c;" (assignment_expression "pEVar32 = pEStack_321c" identifier = identifier) ;) (if_statement "if (unaff_s7 == (BlobInfo *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }" if (parenthesized_expression "(unaff_s7 == (BlobInfo *)0x0)" ( (binary_expression "unaff_s7 == (BlobInfo *)0x0" identifier == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);\n              unaff_s2 = pIVar23;\n              goto LAB_0004d590;\n            }" { (labeled_statement "LAB_0004d570:\n              (**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0);" (call_expression "(**(code **)(pcVar36 + -0x72a8))\n                        (*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar36 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar36 + -0x72a8)" * (pointer_expression "*(code **)(pcVar36 + -0x72a8)" * (cast_expression "(code **)(pcVar36 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x72a8)" ( (binary_expression "pcVar36 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + -0x7fd0) + 0x1aec,&pEVar32[0xd6].semaphore,0x638,\n                         *(int *)(pcVar36 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x1aec" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pEVar32[0xd6].semaphore" & (field_expression "pEVar32[0xd6].semaphore" (subscript_expression "pEVar32[0xd6]" identifier [ number_literal ]) . field_identifier)) , number_literal , (binary_expression "*(int *)(pcVar36 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcVar36 + -0x7fd0)" * (cast_expression "(int *)(pcVar36 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + -0x7fd0)" ( (binary_expression "pcVar36 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s2 = pIVar23;" (assignment_expression "unaff_s2 = pIVar23" identifier = identifier) ;) (goto_statement "goto LAB_0004d590;" goto statement_identifier ;) })) (if_statement "if (unaff_s7->type == UndefinedStream) {\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" if (parenthesized_expression "(unaff_s7->type == UndefinedStream)" ( (binary_expression "unaff_s7->type == UndefinedStream" (field_expression "unaff_s7->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" { (expression_statement "pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);" (assignment_expression "pEVar32 = (ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" identifier = (cast_expression "(ExceptionInfo *)\n                        (**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x72a8))\n                                  (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x72a8)" * (cast_expression "(code **)(pcStack_3230 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72a8)" ( (binary_expression "pcStack_3230 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                   &pEStack_321c[0xd6].semaphore,0x639,\n                                   *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pEStack_321c[0xd6].semaphore" & (field_expression "pEStack_321c[0xd6].semaphore" (subscript_expression "pEStack_321c[0xd6]" identifier [ number_literal ]) . field_identifier)) , number_literal , (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0004d570;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (char *)((int)unaff_s8 >> 0x1f);" (assignment_expression "unaff_s6 = (char *)((int)unaff_s8 >> 0x1f)" identifier = (cast_expression "(char *)((int)unaff_s8 >> 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 >> 0x1f)" ( (binary_expression "(int)unaff_s8 >> 0x1f" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (unaff_s7->type != BlobStream) {\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" if (parenthesized_expression "(unaff_s7->type != BlobStream)" ( (binary_expression "unaff_s7->type != BlobStream" (field_expression "unaff_s7->type" identifier -> field_identifier) != identifier) )) (compound_statement "{\n              uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);\nLAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" { (expression_statement "uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22);" (assignment_expression "uVar13 = (**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x6f1c))(pIVar21,unaff_s8,pIVar22)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f1c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f1c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f1c)" * (cast_expression "(code **)(pcStack_3230 + -0x6f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f1c)" ( (binary_expression "pcStack_3230 + -0x6f1c" identifier + number_literal) ))))) )) (argument_list "(pIVar21,unaff_s8,pIVar22)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_0004d214:\n              pcVar36 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (if_statement "if (unaff_s8 != uVar13) {\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }" if (parenthesized_expression "(unaff_s8 != uVar13)" ( (binary_expression "unaff_s8 != uVar13" identifier != identifier) )) (compound_statement "{\n                puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n                uVar11 = 0x690;\n                pEVar32 = pEStack_3218 + 0x130;\n                pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                pIStack_323c = pIVar23;\n                pIStack_3238 = pIVar21;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(pIVar21);\n                goto LAB_0004d29c;\n              }" { (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);" (assignment_expression "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" identifier = (cast_expression "(Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "uVar11 = 0x690;" (assignment_expression "uVar11 = 0x690" identifier = number_literal) ;) (expression_statement "pEVar32 = pEStack_3218 + 0x130;" (assignment_expression "pEVar32 = pEStack_3218 + 0x130" identifier = (binary_expression "pEStack_3218 + 0x130" identifier + number_literal)) ;) (expression_statement "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;" (assignment_expression "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore" identifier = (cast_expression "(Image *)&pEStack_321c[0xd6].semaphore" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_321c[0xd6].semaphore" & (field_expression "pEStack_321c[0xd6].semaphore" (subscript_expression "pEStack_321c[0xd6]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "pIStack_323c = pIVar23;" (assignment_expression "pIStack_323c = pIVar23" identifier = identifier) ;) (expression_statement "pIStack_3238 = pIVar21;" (assignment_expression "pIStack_3238 = pIVar21" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(pIVar21);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(pIVar21)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(pIVar21)" ( identifier ))) ;) (goto_statement "goto LAB_0004d29c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004d0d4;" goto statement_identifier ;) })) (expression_statement "uVar13 = (uint)unaff_s7->offset;" (assignment_expression "uVar13 = (uint)unaff_s7->offset" identifier = (cast_expression "(uint)unaff_s7->offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "unaff_s7->offset" identifier -> field_identifier))) ;) (expression_statement "uVar11 = unaff_s7->extent;" (assignment_expression "uVar11 = unaff_s7->extent" identifier = (field_expression "unaff_s7->extent" identifier -> field_identifier)) ;) (if_statement "if ((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)) {\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }" if (parenthesized_expression "((unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8))" ( (binary_expression "(unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0) || (uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)" (parenthesized_expression "(unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0)" ( (binary_expression "unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset !=\n                 (char *)0x0" (binary_expression "unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13) + *(int *)&unaff_s7->offset" (binary_expression "unaff_s6 + (uint)(uVar13 + unaff_s8 < uVar13)" identifier + (call_expression "(uint)(uVar13 + unaff_s8 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 + unaff_s8 < uVar13)" ( (binary_expression "uVar13 + unaff_s8 < uVar13" (binary_expression "uVar13 + unaff_s8" identifier + identifier) < identifier) )))) + (pointer_expression "*(int *)&unaff_s7->offset" * (cast_expression "(int *)&unaff_s7->offset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s7->offset" & (field_expression "unaff_s7->offset" identifier -> field_identifier))))) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8)" ( (comma_expression "uVar24 = unaff_s8, uVar11 <= uVar13 + unaff_s8" (assignment_expression "uVar24 = unaff_s8" identifier = identifier) , (binary_expression "uVar11 <= uVar13 + unaff_s8" identifier <= (binary_expression "uVar13 + unaff_s8" identifier + identifier))) ))) )) (compound_statement "{\n              pcVar36 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;\n              unaff_s7->quantum = unaff_s7->quantum << 1;\n              uStack_3214 = unaff_s8;\n              iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);\n              if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }\n              uVar13 = (uint)unaff_s7->offset;\n              uVar24 = uStack_3214;\n            }" { (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x74b0);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x74b0)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x74b0)" * (cast_expression "(code **)(pcStack_3230 + -0x74b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74b0)" ( (binary_expression "pcStack_3230 + -0x74b0" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = uVar11 + unaff_s7->quantum + unaff_s8;" (assignment_expression "uVar11 = uVar11 + unaff_s7->quantum + unaff_s8" identifier = (binary_expression "uVar11 + unaff_s7->quantum + unaff_s8" (binary_expression "uVar11 + unaff_s7->quantum" identifier + (field_expression "unaff_s7->quantum" identifier -> field_identifier)) + identifier)) ;) (expression_statement "unaff_s7->quantum = unaff_s7->quantum << 1;" (assignment_expression "unaff_s7->quantum = unaff_s7->quantum << 1" (field_expression "unaff_s7->quantum" identifier -> field_identifier) = (binary_expression "unaff_s7->quantum << 1" (field_expression "unaff_s7->quantum" identifier -> field_identifier) << number_literal)) ;) (expression_statement "uStack_3214 = unaff_s8;" (assignment_expression "uStack_3214 = unaff_s8" identifier = identifier) ;) (expression_statement "iVar2 = (*pcVar36)(pIVar21,unaff_s8,0);" (assignment_expression "iVar2 = (*pcVar36)(pIVar21,unaff_s8,0)" identifier = (call_expression "(*pcVar36)(pIVar21,unaff_s8,0)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(pIVar21,unaff_s8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar13 = 0;\n                goto LAB_0004d214;\n              }" { (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d214;" goto statement_identifier ;) })) (expression_statement "uVar13 = (uint)unaff_s7->offset;" (assignment_expression "uVar13 = (uint)unaff_s7->offset" identifier = (cast_expression "(uint)unaff_s7->offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "unaff_s7->offset" identifier -> field_identifier))) ;) (expression_statement "uVar24 = uStack_3214;" (assignment_expression "uVar24 = uStack_3214" identifier = identifier) ;) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24);" (call_expression "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7->data + uVar13,pIVar22,uVar24)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7558))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7558)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7558)" * (cast_expression "(code **)(pcStack_3230 + -0x7558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7558)" ( (binary_expression "pcStack_3230 + -0x7558" identifier + number_literal) ))))) )) (argument_list "(unaff_s7->data + uVar13,pIVar22,uVar24)" ( (binary_expression "unaff_s7->data + uVar13" (field_expression "unaff_s7->data" identifier -> field_identifier) + identifier) , identifier , identifier ))) ;) (expression_statement "iVar2 = *(int *)&unaff_s7->offset;" (assignment_expression "iVar2 = *(int *)&unaff_s7->offset" identifier = (pointer_expression "*(int *)&unaff_s7->offset" * (cast_expression "(int *)&unaff_s7->offset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s7->offset" & (field_expression "unaff_s7->offset" identifier -> field_identifier))))) ;) (expression_statement "uVar13 = unaff_s8 + (int)unaff_s7->offset;" (assignment_expression "uVar13 = unaff_s8 + (int)unaff_s7->offset" identifier = (binary_expression "unaff_s8 + (int)unaff_s7->offset" identifier + (cast_expression "(int)unaff_s7->offset" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s7->offset" identifier -> field_identifier)))) ;) (expression_statement "uVar24 = unaff_s7->length;" (assignment_expression "uVar24 = unaff_s7->length" identifier = (field_expression "unaff_s7->length" identifier -> field_identifier)) ;) (expression_statement "*(uint *)((int)&unaff_s7->offset + 4) = uVar13;" (assignment_expression "*(uint *)((int)&unaff_s7->offset + 4) = uVar13" (pointer_expression "*(uint *)((int)&unaff_s7->offset + 4)" * (cast_expression "(uint *)((int)&unaff_s7->offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s7->offset + 4)" ( (binary_expression "(int)&unaff_s7->offset + 4" (cast_expression "(int)&unaff_s7->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s7->offset" & (field_expression "unaff_s7->offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2;" (assignment_expression "pcVar4 = unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2" identifier = (binary_expression "unaff_s6 + (uint)(uVar13 < unaff_s8) + iVar2" (binary_expression "unaff_s6 + (uint)(uVar13 < unaff_s8)" identifier + (call_expression "(uint)(uVar13 < unaff_s8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < unaff_s8)" ( (binary_expression "uVar13 < unaff_s8" identifier < identifier) )))) + identifier)) ;) (expression_statement "*(char **)&unaff_s7->offset = pcVar4;" (assignment_expression "*(char **)&unaff_s7->offset = pcVar4" (pointer_expression "*(char **)&unaff_s7->offset" * (cast_expression "(char **)&unaff_s7->offset" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&unaff_s7->offset" & (field_expression "unaff_s7->offset" identifier -> field_identifier)))) = identifier) ;) (if_statement "if ((int)pcVar4 < 0) goto LAB_0004d0d0;" if (parenthesized_expression "((int)pcVar4 < 0)" ( (binary_expression "(int)pcVar4 < 0" (cast_expression "(int)pcVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;)) (if_statement "if ((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)) goto LAB_0004d1b4;" if (parenthesized_expression "((pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13))" ( (binary_expression "(pcVar4 != (char *)0x0) ||\n               (pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)" (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13)" ( (comma_expression "pcVar36 = *(code **)(pcStack_3230 + -0x72fc), uVar24 <= uVar13" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) , (binary_expression "uVar24 <= uVar13" identifier <= identifier)) ))) )) (goto_statement "goto LAB_0004d1b4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7754))(pEVar29);" (call_expression "(**(code **)(pcStack_3230 + -0x7754))(pEVar29)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(pEVar29)" ( identifier ))) ;) (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);" (assignment_expression "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" identifier = (cast_expression "(Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "uVar11 = 0x680;" (assignment_expression "uVar11 = 0x680" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);" (assignment_expression "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 400;" (assignment_expression "iStack_3248 = 400" identifier = number_literal) ;) }) (else_clause "else {\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" else (compound_statement "{\n        pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);\n        if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;\n        pcVar36 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();\n        pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);\n        uVar11 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar36 = *(code **)(pcStack_3230 + -0x7990);\n        pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" { (expression_statement "pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0);" (assignment_expression "pEVar29 = (ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0)" identifier = (cast_expression "(ExceptionInfo *)(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0)" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x7aa8))(pIVar23,0,0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7aa8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7aa8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7aa8)" * (cast_expression "(code **)(pcStack_3230 + -0x7aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7aa8)" ( (binary_expression "pcStack_3230 + -0x7aa8" identifier + number_literal) ))))) )) (argument_list "(pIVar23,0,0)" ( identifier , number_literal , number_literal ))))) ;) (if_statement "if (pEVar29 != (ExceptionInfo *)0xffffffff) goto LAB_0004d08c;" if (parenthesized_expression "(pEVar29 != (ExceptionInfo *)0xffffffff)" ( (binary_expression "pEVar29 != (ExceptionInfo *)0xffffffff" identifier != (cast_expression "(ExceptionInfo *)0xffffffff" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;)) (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0004d3d0:\n        puVar14 = (undefined4 *)(*pcVar36)();" statement_identifier : (expression_statement "puVar14 = (undefined4 *)(*pcVar36)();" (assignment_expression "puVar14 = (undefined4 *)(*pcVar36)()" identifier = (cast_expression "(undefined4 *)(*pcVar36)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14);" (assignment_expression "pIVar21 = (Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" identifier = (cast_expression "(Image *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) ))))) ;) (expression_statement "uVar11 = 0x675;" (assignment_expression "uVar11 = 0x675" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar36 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar36 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);" (assignment_expression "pIStack_3244 = (ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" identifier = (cast_expression "(ImageInfo *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) }))) (expression_statement "iStack_3240 = iStack_3240 + 0xe78;" (assignment_expression "iStack_3240 = iStack_3240 + 0xe78" identifier = (binary_expression "iStack_3240 + 0xe78" identifier + number_literal)) ;) (expression_statement "pEVar32 = pEStack_3218 + 0x130;" (assignment_expression "pEVar32 = pEStack_3218 + 0x130" identifier = (binary_expression "pEStack_3218 + 0x130" identifier + number_literal)) ;) (expression_statement "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore;" (assignment_expression "pIVar5 = (Image *)&pEStack_321c[0xd6].semaphore" identifier = (cast_expression "(Image *)&pEStack_321c[0xd6].semaphore" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pEStack_321c[0xd6].semaphore" & (field_expression "pEStack_321c[0xd6].semaphore" (subscript_expression "pEStack_321c[0xd6]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pIVar8 = (Image *)0x0;" (assignment_expression "pIVar8 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIStack_323c = pIVar23;" (assignment_expression "pIStack_323c = pIVar23" identifier = identifier) ;) (expression_statement "pIStack_3238 = pIVar21;" (assignment_expression "pIStack_3238 = pIVar21" identifier = identifier) ;) (expression_statement "(*pcVar36)(uStack_3220);" (call_expression "(*pcVar36)(uStack_3220)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(pIVar21);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(pIVar21)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(pIVar21)" ( identifier ))) ;) }))) (labeled_statement "LAB_0004d2c8:\n    iVar2 = iStack_316c;" statement_identifier : (expression_statement "iVar2 = iStack_316c;" (assignment_expression "iVar2 = iStack_316c" identifier = identifier) ;)) (expression_statement "pcVar36 = pcStack_3230;" (assignment_expression "pcVar36 = pcStack_3230" identifier = identifier) ;) (if_statement "if (iStack_316c == *piStack_3224) {\n      return pIVar8;\n    }" if (parenthesized_expression "(iStack_316c == *piStack_3224)" ( (binary_expression "iStack_316c == *piStack_3224" identifier == (pointer_expression "*piStack_3224" * identifier)) )) (compound_statement "{\n      return pIVar8;\n    }" { (return_statement "return pIVar8;" return identifier ;) })) }))) (expression_statement "pcVar36 = *(code **)(pcVar36 + -0x784c);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar36 + -0x784c)" * (cast_expression "(code **)(pcVar36 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + -0x784c)" ( (binary_expression "pcVar36 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar34 = InjectImageBlob;" (assignment_expression "pcVar34 = InjectImageBlob" identifier = identifier) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = iStack_3248;" (assignment_expression "iVar3 = iStack_3248" identifier = identifier) ;) (expression_statement "piVar12 = *(int **)(pcVar36 + 0x35bc28);" (assignment_expression "piVar12 = *(int **)(pcVar36 + 0x35bc28)" identifier = (pointer_expression "*(int **)(pcVar36 + 0x35bc28)" * (cast_expression "(int **)(pcVar36 + 0x35bc28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bc28)" ( (binary_expression "pcVar36 + 0x35bc28" identifier + number_literal) ))))) ;) (expression_statement "iStack_3284 = *piVar12;" (assignment_expression "iStack_3284 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "pIStack_3280 = pIVar21;" (assignment_expression "pIStack_3280 = pIVar21" identifier = identifier) ;) (expression_statement "pIStack_327c = pIVar8;" (assignment_expression "pIStack_327c = pIVar8" identifier = identifier) ;) (expression_statement "pIStack_3278 = pIVar23;" (assignment_expression "pIStack_3278 = pIVar23" identifier = identifier) ;) (expression_statement "pEStack_3274 = pEVar29;" (assignment_expression "pEStack_3274 = pEVar29" identifier = identifier) ;) (expression_statement "pEStack_3270 = pEVar27;" (assignment_expression "pEStack_3270 = pEVar27" identifier = identifier) ;) (expression_statement "psStack_326c = length;" (assignment_expression "psStack_326c = length" identifier = identifier) ;) (expression_statement "pcStack_3268 = unaff_s6;" (assignment_expression "pcStack_3268 = unaff_s6" identifier = identifier) ;) (expression_statement "pBStack_3264 = unaff_s7;" (assignment_expression "pBStack_3264 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_3260 = unaff_s8;" (assignment_expression "uStack_3260 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_325c = pcVar34;" (assignment_expression "pcStack_325c = pcVar34" identifier = identifier) ;) (if_statement "if (iVar2 == 0) {\nLAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n    uVar25 = (undefined1)iVar3;\n  }\n  else {\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n    iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n    uVar25 = (undefined1)iVar3;\n  }" { (labeled_statement "LAB_0004ddfc:\n    iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" statement_identifier : (expression_statement "iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar3 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1c88" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1c88" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(iVar2,iVar3,0xabf,*(int *)(pcVar36 + 0x35b2d8) + 0x2474)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar25 = (undefined1)iVar3;" (assignment_expression "uVar25 = (undefined1)iVar3" identifier = (cast_expression "(undefined1)iVar3" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) (else_clause "else {\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;\n    iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n    if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;\n    if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);\n    if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar2 = iStack_3284;\n    if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x3214)" * (cast_expression "(int *)(iVar2 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x3214)" ( (binary_expression "iVar2 + 0x3214" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" { (labeled_statement "LAB_0004ddd8:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0xda0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0xda0" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddfc;" goto statement_identifier ;) })) (if_statement "if (pIVar5 == (Image *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" if (parenthesized_expression "(pIVar5 == (Image *)0x0)" ( (binary_expression "pIVar5 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" { (labeled_statement "LAB_0004ddb4:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0xdd0,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0xdd0" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;) })) (if_statement "if (pIVar5->signature != 0xabacadab) {\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" if (parenthesized_expression "(pIVar5->signature != 0xabacadab)" ( (binary_expression "pIVar5->signature != 0xabacadab" (field_expression "pIVar5->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);\nLAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" { (labeled_statement "LAB_0004dd4c:\n      iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;" statement_identifier : (expression_statement "iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474;" (assignment_expression "iVar30 = *(int *)(pcVar36 + 0x35b2d8) + 0x2474" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2e0) + -0x3784,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar30)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2e0) + -0x3784" (pointer_expression "*(int *)(pcVar36 + 0x35b2e0)" * (cast_expression "(int *)(pcVar36 + 0x35b2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2e0)" ( (binary_expression "pcVar36 + 0x35b2e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd70:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar30 + 0x2474)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1fe4" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar30 + 0x2474" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004dd90:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar36 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1fc4" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddb4;" goto statement_identifier ;) })) (if_statement "if (pIVar5->debug != MagickFalse) {\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" if (parenthesized_expression "(pIVar5->debug != MagickFalse)" ( (binary_expression "pIVar5->debug != MagickFalse" (field_expression "pIVar5->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" { (expression_statement "(**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4);" (call_expression "(**(code **)(pcVar36 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bbd8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bbd8)" * (pointer_expression "*(code **)(pcVar36 + 0x35bbd8)" * (cast_expression "(code **)(pcVar36 + 0x35bbd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bbd8)" ( (binary_expression "pcVar36 + 0x35bbd8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,\n                 0xac4)" ( number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pEVar32 == (ExceptionInfo *)0x0) goto LAB_0004dd90;" if (parenthesized_expression "(pEVar32 == (ExceptionInfo *)0x0)" ( (binary_expression "pEVar32 == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd90;" goto statement_identifier ;)) (expression_statement "iVar30 = *(int *)(pcVar36 + 0x35b2d8);" (assignment_expression "iVar30 = *(int *)(pcVar36 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (pEVar32[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;" if (parenthesized_expression "(pEVar32[0x19b].description != (char *)0xabacadab)" ( (binary_expression "pEVar32[0x19b].description != (char *)0xabacadab" (field_expression "pEVar32[0x19b].description" (subscript_expression "pEVar32[0x19b]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(char *)0xabacadab" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd70;" goto statement_identifier ;)) (if_statement "if (iVar3 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);\n      goto LAB_0004dd4c;\n    }" { (labeled_statement "LAB_0004dd2c:\n      (**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                (*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0x1cac,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar30 + 0x2474)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1cac" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar30 + 0x2474" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004dd4c;" goto statement_identifier ;) })) (expression_statement "iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284);" (assignment_expression "iVar30 = (**(code **)(pcVar36 + 0x35b83c))(auStack_4284)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35b83c))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b83c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b83c)" * (pointer_expression "*(code **)(pcVar36 + 0x35b83c)" * (cast_expression "(code **)(pcVar36 + 0x35b83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b83c)" ( (binary_expression "pcVar36 + 0x35b83c" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier )))) ;) (if_statement "if ((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)) {\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }\n    else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0))" ( (binary_expression "(iVar30 == -1) ||\n       (iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)" (parenthesized_expression "(iVar30 == -1)" ( (binary_expression "iVar30 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0)" ( (comma_expression "iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98),\n       iVar30 == 0" (assignment_expression "iVar30 = (**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35c1d0))(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c1d0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c1d0)" * (pointer_expression "*(code **)(pcVar36 + 0x35c1d0)" * (cast_expression "(code **)(pcVar36 + 0x35c1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c1d0)" ( (binary_expression "pcVar36 + 0x35c1d0" identifier + number_literal) ))))) )) (argument_list "(iVar30,*(int *)(pcVar36 + 0x35b2d8) + 0xe98)" ( identifier , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0xe98" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar30 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      (**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);\n      puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);\n      uVar25 = (undefined1)iVar2;\n      pvVar7 = (void *)0x0;\n      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n    }" { (expression_statement "(**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000);" (call_expression "(**(code **)(pcVar36 + 0x35c234))(pIVar5->filename,auStack_4284,0x1000)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c234))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c234)" * (pointer_expression "*(code **)(pcVar36 + 0x35c234)" * (cast_expression "(code **)(pcVar36 + 0x35c234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c234)" ( (binary_expression "pcVar36 + 0x35c234" identifier + number_literal) ))))) )) (argument_list "(pIVar5->filename,auStack_4284,0x1000)" ( (field_expression "pIVar5->filename" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar36 + 0x35c3a8)" * (cast_expression "(code **)(pcVar36 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c3a8)" ( (binary_expression "pcVar36 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bde4))(*puVar14)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar36 + 0x35bde4)" * (cast_expression "(code **)(pcVar36 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bde4)" ( (binary_expression "pcVar36 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0);" (call_expression "(**(code **)(pcVar36 + 0x35b918))(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b918)" * (pointer_expression "*(code **)(pcVar36 + 0x35b918)" * (cast_expression "(code **)(pcVar36 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b918)" ( (binary_expression "pcVar36 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xad0)" ( identifier , identifier , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar25 = (undefined1)iVar2;" (assignment_expression "uVar25 = (undefined1)iVar2" identifier = (cast_expression "(undefined1)iVar2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "pvVar7 = (void *)0x0;" (assignment_expression "pvVar7 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35ba6c))(uVar6);" (call_expression "(**(code **)(pcVar36 + 0x35ba6c))(uVar6)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar36 + 0x35ba6c)" * (cast_expression "(code **)(pcVar36 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ba6c)" ( (binary_expression "pcVar36 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) }) (else_clause "else {\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar25 = 0;\n      iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);\n      if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }\n    }" { (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0);" (assignment_expression "iVar15 = (**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35c228))(pEVar32,0,0,0)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c228))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c228)" * (pointer_expression "*(code **)(pcVar36 + 0x35c228)" * (cast_expression "(code **)(pcVar36 + 0x35c228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c228)" ( (binary_expression "pcVar36 + 0x35c228" identifier + number_literal) ))))) )) (argument_list "(pEVar32,0,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar15 == 0) {\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n        pvVar7 = (void *)0x0;\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n      }" { (expression_statement "pvVar7 = (void *)0x0;" (assignment_expression "pvVar7 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35bd94))(iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35bd94))(iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar36 + 0x35bd94)" * (cast_expression "(code **)(pcVar36 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bd94)" ( (binary_expression "pcVar36 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar30)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar36 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b994)" * (pointer_expression "*(code **)(pcVar36 + 0x35b994)" * (cast_expression "(code **)(pcVar36 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b994)" ( (binary_expression "pcVar36 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);\n        (**(code **)(pcVar36 + 0x35ba08))(iVar15);\n        uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);\n        pcVar34 = *(code **)(pcVar36 + 0x35bb94);\n        *(undefined4 *)(iVar15 + 0x3348) = uVar6;\n        uVar6 = (*pcVar34)(iVar2);\n        (**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);\n        iVar2 = iVar15;\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);\n        uVar25 = (undefined1)iVar2;\n        (**(code **)(pcVar36 + 0x35bfe0))(uVar6);\n        (**(code **)(pcVar36 + 0x35b944))(iVar15);\n        (**(code **)(pcVar36 + 0x35bd94))(iVar30);\n        if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11);" (call_expression "(**(code **)(pcVar36 + 0x35b774))\n                  (iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b774))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b774)" * (pointer_expression "*(code **)(pcVar36 + 0x35b774)" * (cast_expression "(code **)(pcVar36 + 0x35b774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b774)" ( (binary_expression "pcVar36 + 0x35b774" identifier + number_literal) ))))) )) (argument_list "(iVar15 + 0x340,0x1000,*(int *)(pcVar36 + 0x35b2d8) + 0x1d10,uVar11)" ( (binary_expression "iVar15 + 0x340" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1d10" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35ba08))(iVar15);" (call_expression "(**(code **)(pcVar36 + 0x35ba08))(iVar15)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ba08))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ba08)" * (pointer_expression "*(code **)(pcVar36 + 0x35ba08)" * (cast_expression "(code **)(pcVar36 + 0x35ba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ba08)" ( (binary_expression "pcVar36 + 0x35ba08" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35c1d8))(0)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35c1d8))(0)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c1d8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c1d8)" * (pointer_expression "*(code **)(pcVar36 + 0x35c1d8)" * (cast_expression "(code **)(pcVar36 + 0x35c1d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c1d8)" ( (binary_expression "pcVar36 + 0x35c1d8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar34 = *(code **)(pcVar36 + 0x35bb94);" (assignment_expression "pcVar34 = *(code **)(pcVar36 + 0x35bb94)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35bb94)" * (cast_expression "(code **)(pcVar36 + 0x35bb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bb94)" ( (binary_expression "pcVar36 + 0x35bb94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 0x3348) = uVar6;" (assignment_expression "*(undefined4 *)(iVar15 + 0x3348) = uVar6" (pointer_expression "*(undefined4 *)(iVar15 + 0x3348)" * (cast_expression "(undefined4 *)(iVar15 + 0x3348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x3348)" ( (binary_expression "iVar15 + 0x3348" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar6 = (*pcVar34)(iVar2);" (assignment_expression "uVar6 = (*pcVar34)(iVar2)" identifier = (call_expression "(*pcVar34)(iVar2)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar2)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35bec8))(uVar6,iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bec8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bec8)" * (pointer_expression "*(code **)(pcVar36 + 0x35bec8)" * (cast_expression "(code **)(pcVar36 + 0x35bec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bec8)" ( (binary_expression "pcVar36 + 0x35bec8" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar30)" ( identifier , identifier ))) ;) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" identifier = identifier) ;) (expression_statement "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3);" (assignment_expression "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3)" identifier = (cast_expression "(void *)(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35b96c))(uVar6,iVar15,iVar3)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b96c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b96c)" * (pointer_expression "*(code **)(pcVar36 + 0x35b96c)" * (cast_expression "(code **)(pcVar36 + 0x35b96c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b96c)" ( (binary_expression "pcVar36 + 0x35b96c" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar15,iVar3)" ( identifier , identifier , identifier ))))) ;) (expression_statement "uVar25 = (undefined1)iVar2;" (assignment_expression "uVar25 = (undefined1)iVar2" identifier = (cast_expression "(undefined1)iVar2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35bfe0))(uVar6);" (call_expression "(**(code **)(pcVar36 + 0x35bfe0))(uVar6)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bfe0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bfe0)" * (pointer_expression "*(code **)(pcVar36 + 0x35bfe0)" * (cast_expression "(code **)(pcVar36 + 0x35bfe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bfe0)" ( (binary_expression "pcVar36 + 0x35bfe0" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b944))(iVar15);" (call_expression "(**(code **)(pcVar36 + 0x35b944))(iVar15)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b944))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b944)" * (pointer_expression "*(code **)(pcVar36 + 0x35b944)" * (cast_expression "(code **)(pcVar36 + 0x35b944)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b944)" ( (binary_expression "pcVar36 + 0x35b944" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35bd94))(iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35bd94))(iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar36 + 0x35bd94)" * (cast_expression "(code **)(pcVar36 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bd94)" ( (binary_expression "pcVar36 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar30)" ( identifier ))) ;) (if_statement "if (pvVar7 == (void *)0x0) {\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }" if (parenthesized_expression "(pvVar7 == (void *)0x0)" ( (binary_expression "pvVar7 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n        }" { (expression_statement "(**(code **)(pcVar36 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar36 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b994)" * (pointer_expression "*(code **)(pcVar36 + 0x35b994)" * (cast_expression "(code **)(pcVar36 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b994)" ( (binary_expression "pcVar36 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }" else (compound_statement "{\n          iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);\n          if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }\n        }" { (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35b800))(auStack_4284,0,0)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b800))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b800)" * (pointer_expression "*(code **)(pcVar36 + 0x35b800)" * (cast_expression "(code **)(pcVar36 + 0x35b800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b800)" ( (binary_expression "pcVar36 + 0x35b800" identifier + number_literal) ))))) )) (argument_list "(auStack_4284,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar2 == -1) {\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }\n          else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();\n            uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar25 = (undefined1)iVar2;\n            (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n          }" { (expression_statement "pvVar7 = (void *)0x0;" (assignment_expression "pvVar7 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar36 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b994)" * (pointer_expression "*(code **)(pcVar36 + 0x35b994)" * (cast_expression "(code **)(pcVar36 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b994)" ( (binary_expression "pcVar36 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))();" (assignment_expression "puVar14 = (undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar36 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar36 + 0x35c3a8)" * (cast_expression "(code **)(pcVar36 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c3a8)" ( (binary_expression "pcVar36 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*puVar14)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bde4))(*puVar14)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar36 + 0x35bde4)" * (cast_expression "(code **)(pcVar36 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bde4)" ( (binary_expression "pcVar36 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar14)" ( (pointer_expression "*puVar14" * identifier) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1);" (call_expression "(**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b918)" * (pointer_expression "*(code **)(pcVar36 + 0x35b918)" * (cast_expression "(code **)(pcVar36 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b918)" ( (binary_expression "pcVar36 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xaf1)" ( identifier , identifier , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar25 = (undefined1)iVar2;" (assignment_expression "uVar25 = (undefined1)iVar2" identifier = (cast_expression "(undefined1)iVar2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35ba6c))(uVar6);" (call_expression "(**(code **)(pcVar36 + 0x35ba6c))(uVar6)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar36 + 0x35ba6c)" * (cast_expression "(code **)(pcVar36 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ba6c)" ( (binary_expression "pcVar36 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) }) (else_clause "else {\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }" else (compound_statement "{\n            iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);\n            if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);\n            if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }\n            pvVar7 = (void *)0x0;\n            (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n            iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);\n            uVar25 = (undefined1)iVar2;\n          }" { (expression_statement "iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328);" (assignment_expression "iVar30 = (**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35b8a0))(3,iVar2,auStack_4328)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b8a0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b8a0)" * (pointer_expression "*(code **)(pcVar36 + 0x35b8a0)" * (cast_expression "(code **)(pcVar36 + 0x35b8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b8a0)" ( (binary_expression "pcVar36 + 0x35b8a0" identifier + number_literal) ))))) )) (argument_list "(3,iVar2,auStack_4328)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }" if (parenthesized_expression "(((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff))" ( (binary_expression "((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)" (parenthesized_expression "((iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))" ( (binary_expression "(iVar30 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" (parenthesized_expression "(iVar30 == 0)" ( (binary_expression "iVar30 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" ( (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0" (call_expression "(uint)(uStack_42ec - 1 < uStack_42ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_42ec - 1 < uStack_42ec)" ( (binary_expression "uStack_42ec - 1 < uStack_42ec" (binary_expression "uStack_42ec - 1" identifier - number_literal) < identifier) ))) + identifier) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(uStack_42ec - 1 < 0x13fff)" ( (binary_expression "uStack_42ec - 1 < 0x13fff" (binary_expression "uStack_42ec - 1" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              uStack_4330 = uStack_42ec;\n            }" { (expression_statement "uStack_4330 = uStack_42ec;" (assignment_expression "uStack_4330 = uStack_42ec" identifier = identifier) ;) }) (else_clause "else {\n              uStack_4330 = 0x14000;\n            }" else (compound_statement "{\n              uStack_4330 = 0x14000;\n            }" { (expression_statement "uStack_4330 = 0x14000;" (assignment_expression "uStack_4330 = 0x14000" identifier = number_literal) ;) }))) (expression_statement "iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1);" (assignment_expression "iVar15 = (**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bf04))(uStack_4330,1)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bf04))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bf04)" * (pointer_expression "*(code **)(pcVar36 + 0x35bf04)" * (cast_expression "(code **)(pcVar36 + 0x35bf04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bf04)" ( (binary_expression "pcVar36 + 0x35bf04" identifier + number_literal) ))))) )) (argument_list "(uStack_4330,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar15 != 0) {\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n              while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);\nLAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;\n              (**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);\n              goto LAB_0004dd2c;\n            }" { (while_statement "while( true ) {\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar30 = iVar15;\n                uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);\n                uVar25 = (undefined1)iVar30;\n                if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }\n                pBVar20 = pIVar5->blob;\n                iVar30 = *(int *)(pcVar36 + 0x35b2d8);\n                if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;\n                if (pBVar20->type == UndefinedStream) break;\n                if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }\n              }" { (expression_statement "iVar30 = iVar15;" (assignment_expression "iVar30 = iVar15" identifier = identifier) ;) (expression_statement "uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330);" (assignment_expression "uVar11 = (**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bfac))(iVar2,iVar15,uStack_4330)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bfac))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bfac)" * (pointer_expression "*(code **)(pcVar36 + 0x35bfac)" * (cast_expression "(code **)(pcVar36 + 0x35bfac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bfac)" ( (binary_expression "pcVar36 + 0x35bfac" identifier + number_literal) ))))) )) (argument_list "(iVar2,iVar15,uStack_4330)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar25 = (undefined1)iVar30;" (assignment_expression "uVar25 = (undefined1)iVar30" identifier = (cast_expression "(undefined1)iVar30" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if ((int)uVar11 < 1) {\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }" if (parenthesized_expression "((int)uVar11 < 1)" ( (binary_expression "(int)uVar11 < 1" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();\n                  if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }\n                  uVar11 = 0;\n                }" { (expression_statement "piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))();" (assignment_expression "piVar16 = (int *)(**(code **)(pcVar36 + 0x35c3a8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar36 + 0x35c3a8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar36 + 0x35c3a8)" * (cast_expression "(code **)(pcVar36 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c3a8)" ( (binary_expression "pcVar36 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar16 != 4) {\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }" if (parenthesized_expression "(*piVar16 != 4)" ( (binary_expression "*piVar16 != 4" (pointer_expression "*piVar16" * identifier) != number_literal) )) (compound_statement "{\n                    iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);\n                    if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }\n                    (**(code **)(pcVar36 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar36 + 0x35b9b8))(iVar15);\n                    goto LAB_0004d764;\n                  }" { (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35bb54))(iVar2)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bb54))(iVar2)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar36 + 0x35bb54)" * (cast_expression "(code **)(pcVar36 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bb54)" ( (binary_expression "pcVar36 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (iVar2 == -1) {\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (compound_statement "{\n                      uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);\n                      iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar25 = (undefined1)iVar2;\n                      (**(code **)(pcVar36 + 0x35ba6c))(uVar6);\n                    }" { (expression_statement "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16);" (assignment_expression "uVar6 = (**(code **)(pcVar36 + 0x35bde4))(*piVar16)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35bde4))(*piVar16)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar36 + 0x35bde4)" * (cast_expression "(code **)(pcVar36 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bde4)" ( (binary_expression "pcVar36 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*piVar16)" ( (pointer_expression "*piVar16" * identifier) )))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d);" (call_expression "(**(code **)(pcVar36 + 0x35b918))\n                                (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b918)" * (pointer_expression "*(code **)(pcVar36 + 0x35b918)" * (cast_expression "(code **)(pcVar36 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b918)" ( (binary_expression "pcVar36 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xb0d)" ( identifier , identifier , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar25 = (undefined1)iVar2;" (assignment_expression "uVar25 = (undefined1)iVar2" identifier = (cast_expression "(undefined1)iVar2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35ba6c))(uVar6);" (call_expression "(**(code **)(pcVar36 + 0x35ba6c))(uVar6)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar36 + 0x35ba6c)" * (cast_expression "(code **)(pcVar36 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ba6c)" ( (binary_expression "pcVar36 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar6)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar36 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar36 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b994)" * (pointer_expression "*(code **)(pcVar36 + 0x35b994)" * (cast_expression "(code **)(pcVar36 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b994)" ( (binary_expression "pcVar36 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b9b8))(iVar15);" (call_expression "(**(code **)(pcVar36 + 0x35b9b8))(iVar15)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b9b8))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b9b8)" * (pointer_expression "*(code **)(pcVar36 + 0x35b9b8)" * (cast_expression "(code **)(pcVar36 + 0x35b9b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b9b8)" ( (binary_expression "pcVar36 + 0x35b9b8" identifier + number_literal) ))))) )) (argument_list "(iVar15)" ( identifier ))) ;) (goto_statement "goto LAB_0004d764;" goto statement_identifier ;) })) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) })) (expression_statement "pBVar20 = pIVar5->blob;" (assignment_expression "pBVar20 = pIVar5->blob" identifier = (field_expression "pIVar5->blob" identifier -> field_identifier)) ;) (expression_statement "iVar30 = *(int *)(pcVar36 + 0x35b2d8);" (assignment_expression "iVar30 = *(int *)(pcVar36 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (pBVar20 == (BlobInfo *)0x0) goto LAB_0004dd0c;" if (parenthesized_expression "(pBVar20 == (BlobInfo *)0x0)" ( (binary_expression "pBVar20 == (BlobInfo *)0x0" identifier == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd0c;" goto statement_identifier ;)) (if_statement "if (pBVar20->type == UndefinedStream) break;" if (parenthesized_expression "(pBVar20->type == UndefinedStream)" ( (binary_expression "pBVar20->type == UndefinedStream" (field_expression "pBVar20->type" identifier -> field_identifier) == identifier) )) (break_statement "break;" break ;)) (if_statement "if (pBVar20->type == BlobStream) {\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }\n                else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }" if (parenthesized_expression "(pBVar20->type == BlobStream)" ( (binary_expression "pBVar20->type == BlobStream" (field_expression "pBVar20->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                  uVar13 = (uint)pBVar20->offset;\n                  if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }\n                }" { (expression_statement "uVar13 = (uint)pBVar20->offset;" (assignment_expression "uVar13 = (uint)pBVar20->offset" identifier = (cast_expression "(uint)pBVar20->offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "pBVar20->offset" identifier -> field_identifier))) ;) (if_statement "if (((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)) {\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }\n                  else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }" if (parenthesized_expression "(((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent))" ( (binary_expression "((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0) &&\n                     (uVar13 + uVar11 < pBVar20->extent)" (parenthesized_expression "((uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0)" ( (binary_expression "(uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f) == 0" (binary_expression "(uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset + ((int)uVar11 >> 0x1f)" (binary_expression "(uint)(uVar13 + uVar11 < uVar13) +\n                       *(int *)&pBVar20->offset" (call_expression "(uint)(uVar13 + uVar11 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 + uVar11 < uVar13)" ( (binary_expression "uVar13 + uVar11 < uVar13" (binary_expression "uVar13 + uVar11" identifier + identifier) < identifier) ))) + (pointer_expression "*(int *)&pBVar20->offset" * (cast_expression "(int *)&pBVar20->offset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar20->offset" & (field_expression "pBVar20->offset" identifier -> field_identifier))))) + (parenthesized_expression "((int)uVar11 >> 0x1f)" ( (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar13 + uVar11 < pBVar20->extent)" ( (binary_expression "uVar13 + uVar11 < pBVar20->extent" (binary_expression "uVar13 + uVar11" identifier + identifier) < (field_expression "pBVar20->extent" identifier -> field_identifier)) ))) )) (compound_statement "{\nLAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);\n                    iVar30 = *(int *)&pBVar20->offset;\n                    uVar13 = uVar11 + (int)pBVar20->offset;\n                    uVar24 = pBVar20->length;\n                    *(uint *)((int)&pBVar20->offset + 4) = uVar13;\n                    iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;\n                    *(int *)&pBVar20->offset = iVar30;\n                    if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }\n                  }" { (labeled_statement "LAB_0004da64:\n                    (**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11);" (call_expression "(**(code **)(pcVar36 + 0x35bd50))(pBVar20->data + uVar13,iVar15,uVar11)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bd50))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bd50)" * (pointer_expression "*(code **)(pcVar36 + 0x35bd50)" * (cast_expression "(code **)(pcVar36 + 0x35bd50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bd50)" ( (binary_expression "pcVar36 + 0x35bd50" identifier + number_literal) ))))) )) (argument_list "(pBVar20->data + uVar13,iVar15,uVar11)" ( (binary_expression "pBVar20->data + uVar13" (field_expression "pBVar20->data" identifier -> field_identifier) + identifier) , identifier , identifier ))) ;)) (expression_statement "iVar30 = *(int *)&pBVar20->offset;" (assignment_expression "iVar30 = *(int *)&pBVar20->offset" identifier = (pointer_expression "*(int *)&pBVar20->offset" * (cast_expression "(int *)&pBVar20->offset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar20->offset" & (field_expression "pBVar20->offset" identifier -> field_identifier))))) ;) (expression_statement "uVar13 = uVar11 + (int)pBVar20->offset;" (assignment_expression "uVar13 = uVar11 + (int)pBVar20->offset" identifier = (binary_expression "uVar11 + (int)pBVar20->offset" identifier + (cast_expression "(int)pBVar20->offset" ( (type_descriptor "int" primitive_type) ) (field_expression "pBVar20->offset" identifier -> field_identifier)))) ;) (expression_statement "uVar24 = pBVar20->length;" (assignment_expression "uVar24 = pBVar20->length" identifier = (field_expression "pBVar20->length" identifier -> field_identifier)) ;) (expression_statement "*(uint *)((int)&pBVar20->offset + 4) = uVar13;" (assignment_expression "*(uint *)((int)&pBVar20->offset + 4) = uVar13" (pointer_expression "*(uint *)((int)&pBVar20->offset + 4)" * (cast_expression "(uint *)((int)&pBVar20->offset + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar20->offset + 4)" ( (binary_expression "(int)&pBVar20->offset + 4" (cast_expression "(int)&pBVar20->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar20->offset" & (field_expression "pBVar20->offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30;" (assignment_expression "iVar30 = (uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30" identifier = (binary_expression "(uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f) + iVar30" (binary_expression "(uint)(uVar13 < uVar11) + ((int)uVar11 >> 0x1f)" (call_expression "(uint)(uVar13 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) + (parenthesized_expression "((int)uVar11 >> 0x1f)" ( (binary_expression "(int)uVar11 >> 0x1f" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + identifier)) ;) (expression_statement "*(int *)&pBVar20->offset = iVar30;" (assignment_expression "*(int *)&pBVar20->offset = iVar30" (pointer_expression "*(int *)&pBVar20->offset" * (cast_expression "(int *)&pBVar20->offset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pBVar20->offset" & (field_expression "pBVar20->offset" identifier -> field_identifier)))) = identifier) ;) (if_statement "if ((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))) {\n                      pvVar7 = (void *)0x1;\n                    }\n                    else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }" if (parenthesized_expression "((iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24))))" ( (binary_expression "(iVar30 < 0) || ((iVar30 == 0 && (uVar13 < uVar24)))" (parenthesized_expression "(iVar30 < 0)" ( (binary_expression "iVar30 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar30 == 0 && (uVar13 < uVar24)))" ( (parenthesized_expression "(iVar30 == 0 && (uVar13 < uVar24))" ( (binary_expression "iVar30 == 0 && (uVar13 < uVar24)" (binary_expression "iVar30 == 0" identifier == number_literal) && (parenthesized_expression "(uVar13 < uVar24)" ( (binary_expression "uVar13 < uVar24" identifier < identifier) ))) )) ))) )) (compound_statement "{\n                      pvVar7 = (void *)0x1;\n                    }" { (expression_statement "pvVar7 = (void *)0x1;" (assignment_expression "pvVar7 = (void *)0x1" identifier = (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }" else (compound_statement "{\n                      pBVar20->length = uVar13;\n                      pvVar7 = (void *)0x1;\n                    }" { (expression_statement "pBVar20->length = uVar13;" (assignment_expression "pBVar20->length = uVar13" (field_expression "pBVar20->length" identifier -> field_identifier) = identifier) ;) (expression_statement "pvVar7 = (void *)0x1;" (assignment_expression "pvVar7 = (void *)0x1" identifier = (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }" else (compound_statement "{\n                    sVar17 = pBVar20->quantum;\n                    pcVar34 = *(code **)(pcVar36 + 0x35bdf8);\n                    pBVar20->quantum = sVar17 << 1;\n                    iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);\n                    if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }\n                    pvVar7 = (void *)(uint)(uVar11 == 0);\n                  }" { (expression_statement "sVar17 = pBVar20->quantum;" (assignment_expression "sVar17 = pBVar20->quantum" identifier = (field_expression "pBVar20->quantum" identifier -> field_identifier)) ;) (expression_statement "pcVar34 = *(code **)(pcVar36 + 0x35bdf8);" (assignment_expression "pcVar34 = *(code **)(pcVar36 + 0x35bdf8)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35bdf8)" * (cast_expression "(code **)(pcVar36 + 0x35bdf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bdf8)" ( (binary_expression "pcVar36 + 0x35bdf8" identifier + number_literal) ))))) ;) (expression_statement "pBVar20->quantum = sVar17 << 1;" (assignment_expression "pBVar20->quantum = sVar17 << 1" (field_expression "pBVar20->quantum" identifier -> field_identifier) = (binary_expression "sVar17 << 1" identifier << number_literal)) ;) (expression_statement "iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11);" (assignment_expression "iVar30 = (*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11)" identifier = (call_expression "(*pcVar34)(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(pIVar5,uVar11,0,pBVar20->extent + sVar17 + uVar11)" ( identifier , identifier , number_literal , (binary_expression "pBVar20->extent + sVar17 + uVar11" (binary_expression "pBVar20->extent + sVar17" (field_expression "pBVar20->extent" identifier -> field_identifier) + identifier) + identifier) )))) ;) (if_statement "if (iVar30 != 0) {\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\n                      uVar13 = (uint)pBVar20->offset;\n                      goto LAB_0004da64;\n                    }" { (expression_statement "uVar13 = (uint)pBVar20->offset;" (assignment_expression "uVar13 = (uint)pBVar20->offset" identifier = (cast_expression "(uint)pBVar20->offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "pBVar20->offset" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0004da64;" goto statement_identifier ;) })) (expression_statement "pvVar7 = (void *)(uint)(uVar11 == 0);" (assignment_expression "pvVar7 = (void *)(uint)(uVar11 == 0)" identifier = (cast_expression "(void *)(uint)(uVar11 == 0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar11 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) ))))) ;) }))) }) (else_clause "else {\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }" else (compound_statement "{\n                  uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);\n                  pvVar7 = (void *)(uint)(uVar11 == uVar13);\n                }" { (expression_statement "uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15);" (assignment_expression "uVar13 = (**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15)" identifier = (call_expression "(**(code **)(pcVar36 + 0x35c38c))(pIVar5,uVar11,iVar15)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c38c))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c38c)" * (pointer_expression "*(code **)(pcVar36 + 0x35c38c)" * (cast_expression "(code **)(pcVar36 + 0x35c38c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c38c)" ( (binary_expression "pcVar36 + 0x35c38c" identifier + number_literal) ))))) )) (argument_list "(pIVar5,uVar11,iVar15)" ( identifier , identifier , identifier )))) ;) (expression_statement "pvVar7 = (void *)(uint)(uVar11 == uVar13);" (assignment_expression "pvVar7 = (void *)(uint)(uVar11 == uVar13)" identifier = (cast_expression "(void *)(uint)(uVar11 == uVar13)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar11 == uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 == uVar13)" ( (binary_expression "uVar11 == uVar13" identifier == identifier) ))))) ;) }))) })) (expression_statement "iVar30 = iVar30 + 0x25f0;" (assignment_expression "iVar30 = iVar30 + 0x25f0" identifier = (binary_expression "iVar30 + 0x25f0" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0x1b10,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar30)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1b10" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd0c:\n              iVar30 = iVar30 + 0x25f0;" statement_identifier : (expression_statement "iVar30 = iVar30 + 0x25f0;" (assignment_expression "iVar30 = iVar30 + 0x25f0" identifier = (binary_expression "iVar30 + 0x25f0" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30);" (call_expression "(**(code **)(pcVar36 + 0x35c000))\n                        (*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar36 + 0x35c000)" * (pointer_expression "*(code **)(pcVar36 + 0x35c000)" * (cast_expression "(code **)(pcVar36 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35c000)" ( (binary_expression "pcVar36 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35b2d8) + 0x1aec,*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar30)" ( (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1aec" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004dd2c;" goto statement_identifier ;) })) (expression_statement "pvVar7 = (void *)0x0;" (assignment_expression "pvVar7 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar36 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b994)" * (pointer_expression "*(code **)(pcVar36 + 0x35b994)" * (cast_expression "(code **)(pcVar36 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b994)" ( (binary_expression "pcVar36 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar36 + 0x35bb54))(iVar2);" (call_expression "(**(code **)(pcVar36 + 0x35bb54))(iVar2)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar36 + 0x35bb54)" * (cast_expression "(code **)(pcVar36 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bb54)" ( (binary_expression "pcVar36 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd);" (call_expression "(**(code **)(pcVar36 + 0x35b918))\n                      (iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b918)" * (pointer_expression "*(code **)(pcVar36 + 0x35b918)" * (cast_expression "(code **)(pcVar36 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b918)" ( (binary_expression "pcVar36 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar3,iVar2,*(int *)(pcVar36 + 0x35b2d8) + 0x2464,0xafd)" ( identifier , identifier , (binary_expression "*(int *)(pcVar36 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar36 + 0x35b2d8)" * (cast_expression "(int *)(pcVar36 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35b2d8)" ( (binary_expression "pcVar36 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar25 = (undefined1)iVar2;" (assignment_expression "uVar25 = (undefined1)iVar2" identifier = (cast_expression "(undefined1)iVar2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }))) }))) }))) (labeled_statement "LAB_0004d764:\n    iVar2 = iStack_3284;" statement_identifier : (expression_statement "iVar2 = iStack_3284;" (assignment_expression "iVar2 = iStack_3284" identifier = identifier) ;)) (if_statement "if (iStack_3284 == *piVar12) {\n      return pvVar7;\n    }" if (parenthesized_expression "(iStack_3284 == *piVar12)" ( (binary_expression "iStack_3284 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n      return pvVar7;\n    }" { (return_statement "return pvVar7;" return identifier ;) })) }))) (expression_statement "pcVar36 = *(code **)(pcVar36 + 0x35ba5c);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + 0x35ba5c)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35ba5c)" * (cast_expression "(code **)(pcVar36 + 0x35ba5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ba5c)" ( (binary_expression "pcVar36 + 0x35ba5c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar2 == 0) {\nLAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);\n  }\n  else {\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);\n  }" { (labeled_statement "LAB_0004e038:\n    iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;" statement_identifier : (expression_statement "iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8;" (assignment_expression "iVar3 = *(int *)(pcVar36 + 0x35aab4) + 0x21c8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3);" (call_expression "(**(code **)(pcVar36 + 0x35b7dc))\n              (*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar36 + 0x35b7dc)" * (cast_expression "(code **)(pcVar36 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b7dc)" ( (binary_expression "pcVar36 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35aab4) + 0xdd0,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar3)" ( (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0xdd0" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar31 = *(uint **)(iVar2 + 0x3348);\n    iVar3 = *(int *)(pcVar36 + 0x35aab4);\n    if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar11 = puVar31[0x10];\n    if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }\n  }" { (if_statement "if (*(int *)(iVar2 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" { (labeled_statement "LAB_0004e014:\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);" statement_identifier : (expression_statement "(**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8);" (call_expression "(**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar36 + 0x35b7dc)" * (cast_expression "(code **)(pcVar36 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b7dc)" ( (binary_expression "pcVar36 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35aabc) + -0x3784,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar36 + 0x35aab4) + 0x21c8)" ( (binary_expression "*(int *)(pcVar36 + 0x35aabc) + -0x3784" (pointer_expression "*(int *)(pcVar36 + 0x35aabc)" * (cast_expression "(int *)(pcVar36 + 0x35aabc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aabc)" ( (binary_expression "pcVar36 + 0x35aabc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004e038;" goto statement_identifier ;) })) (expression_statement "puVar31 = *(uint **)(iVar2 + 0x3348);" (assignment_expression "puVar31 = *(uint **)(iVar2 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar2 + 0x3348)" * (cast_expression "(uint **)(iVar2 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x3348)" ( (binary_expression "iVar2 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *(int *)(pcVar36 + 0x35aab4);" (assignment_expression "iVar3 = *(int *)(pcVar36 + 0x35aab4)" identifier = (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) ))))) ;) (if_statement "if (puVar31 == (uint *)0x0) {\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }" if (parenthesized_expression "(puVar31 == (uint *)0x0)" ( (binary_expression "puVar31 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);\n      goto LAB_0004e014;\n    }" { (expression_statement "(**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8);" (call_expression "(**(code **)(pcVar36 + 0x35b7dc))\n                (*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar36 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar36 + 0x35b7dc)" * (cast_expression "(code **)(pcVar36 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b7dc)" ( (binary_expression "pcVar36 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar36 + 0x35aab4) + 0x1aec,*(int *)(pcVar36 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar3 + 0x21c8)" ( (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1aec" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x21c8" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004e014;" goto statement_identifier ;) })) (expression_statement "uVar11 = puVar31[0x10];" (assignment_expression "uVar11 = puVar31[0x10]" identifier = (subscript_expression "puVar31[0x10]" identifier [ number_literal ])) ;) (if_statement "if (uVar11 != 0) {\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }\n      if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }\n      uVar13 = puVar31[9];\n      uVar11 = uVar13 + 1;\n      if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }\n      pcVar36 = *(code **)(pcVar36 + 0x35b5d4);\n      puVar31[2] = uVar13 << 1;\n      iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);\n      if (iVar2 == 0) {\n        return (void *)0x0;\n      }\n      uVar13 = puVar31[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;\n      uVar11 = puVar31[9];\n      uVar13 = uVar11 + 1;\n      puVar31[9] = uVar13;\n      uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n      puVar31[8] = uVar11;\n      if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }\n      return (void *)0x1;\n    }" { (if_statement "if (uVar11 - 1 < 3) {\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }" if (parenthesized_expression "(uVar11 - 1 < 3)" ( (binary_expression "uVar11 - 1 < 3" (binary_expression "uVar11 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);\n        if (iVar2 != -1) {\n          return (void *)0x1;\n        }\n        iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);\n        if (iVar2 == 0) {\n          return (void *)0x0;\n        }\n        if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }\n        puVar31[0xe] = 1;\n        return (void *)0x0;\n      }" { (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11]);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11])" identifier = (call_expression "(**(code **)(pcVar36 + 0x35afcc))(uVar25,puVar31[0x11])" (parenthesized_expression "(**(code **)(pcVar36 + 0x35afcc))" ( (pointer_expression "**(code **)(pcVar36 + 0x35afcc)" * (pointer_expression "*(code **)(pcVar36 + 0x35afcc)" * (cast_expression "(code **)(pcVar36 + 0x35afcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35afcc)" ( (binary_expression "pcVar36 + 0x35afcc" identifier + number_literal) ))))) )) (argument_list "(uVar25,puVar31[0x11])" ( identifier , (subscript_expression "puVar31[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar2 != -1) {\n          return (void *)0x1;\n        }" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (compound_statement "{\n          return (void *)0x1;\n        }" { (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11]);" (assignment_expression "iVar2 = (**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11])" identifier = (call_expression "(**(code **)(pcVar36 + 0x35aef0))(puVar31[0x11])" (parenthesized_expression "(**(code **)(pcVar36 + 0x35aef0))" ( (pointer_expression "**(code **)(pcVar36 + 0x35aef0)" * (pointer_expression "*(code **)(pcVar36 + 0x35aef0)" * (cast_expression "(code **)(pcVar36 + 0x35aef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35aef0)" ( (binary_expression "pcVar36 + 0x35aef0" identifier + number_literal) ))))) )) (argument_list "(puVar31[0x11])" ( (subscript_expression "puVar31[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar2 == 0) {\n          return (void *)0x0;\n        }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n          return (void *)0x0;\n        }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (puVar31[0xe] == 0) {\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }" if (parenthesized_expression "(puVar31[0xe] == 0)" ( (binary_expression "puVar31[0xe] == 0" (subscript_expression "puVar31[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();\n          if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }\n        }" { (expression_statement "puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))();" (assignment_expression "puVar18 = (uint *)(**(code **)(pcVar36 + 0x35bb84))()" identifier = (cast_expression "(uint *)(**(code **)(pcVar36 + 0x35bb84))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35bb84))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bb84))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bb84)" * (pointer_expression "*(code **)(pcVar36 + 0x35bb84)" * (cast_expression "(code **)(pcVar36 + 0x35bb84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bb84)" ( (binary_expression "pcVar36 + 0x35bb84" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*puVar18 != 0) {\n            puVar31[7] = *puVar18;\n          }" if (parenthesized_expression "(*puVar18 != 0)" ( (binary_expression "*puVar18 != 0" (pointer_expression "*puVar18" * identifier) != number_literal) )) (compound_statement "{\n            puVar31[7] = *puVar18;\n          }" { (expression_statement "puVar31[7] = *puVar18;" (assignment_expression "puVar31[7] = *puVar18" (subscript_expression "puVar31[7]" identifier [ number_literal ]) = (pointer_expression "*puVar18" * identifier)) ;) })) })) (expression_statement "puVar31[0xe] = 1;" (assignment_expression "puVar31[0xe] = 1" (subscript_expression "puVar31[0xe]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (uVar11 != 7) {\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }" if (parenthesized_expression "(uVar11 != 7)" ( (binary_expression "uVar11 != 7" identifier != number_literal) )) (compound_statement "{\n        pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();\n        return pvVar7;\n      }" { (expression_statement "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))();" (assignment_expression "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35bb68))()" identifier = (cast_expression "(void *)(**(code **)(pcVar36 + 0x35bb68))()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35bb68))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35bb68))" ( (pointer_expression "**(code **)(pcVar36 + 0x35bb68)" * (pointer_expression "*(code **)(pcVar36 + 0x35bb68)" * (cast_expression "(code **)(pcVar36 + 0x35bb68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35bb68)" ( (binary_expression "pcVar36 + 0x35bb68" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return pvVar7;" return identifier ;) })) (expression_statement "uVar13 = puVar31[9];" (assignment_expression "uVar13 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar11 < uVar13) + puVar31[8] == 0) {\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }\n      else {\n        uVar13 = puVar31[2];\n      }" if (parenthesized_expression "((uint)(uVar11 < uVar13) + puVar31[8] == 0)" ( (binary_expression "(uint)(uVar11 < uVar13) + puVar31[8] == 0" (binary_expression "(uint)(uVar11 < uVar13) + puVar31[8]" (call_expression "(uint)(uVar11 < uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < uVar13)" ( (binary_expression "uVar11 < uVar13" identifier < identifier) ))) + (subscript_expression "puVar31[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n        if (uVar11 < puVar31[1]) goto LAB_0004dee0;\n        uVar13 = puVar31[2];\n        uVar11 = 0;\n      }" { (if_statement "if (uVar11 < puVar31[1]) goto LAB_0004dee0;" if (parenthesized_expression "(uVar11 < puVar31[1])" ( (binary_expression "uVar11 < puVar31[1]" identifier < (subscript_expression "puVar31[1]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0004dee0;" goto statement_identifier ;)) (expression_statement "uVar13 = puVar31[2];" (assignment_expression "uVar13 = puVar31[2]" identifier = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar13 = puVar31[2];\n      }" else (compound_statement "{\n        uVar13 = puVar31[2];\n      }" { (expression_statement "uVar13 = puVar31[2];" (assignment_expression "uVar13 = puVar31[2]" identifier = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar36 = *(code **)(pcVar36 + 0x35b5d4);" (assignment_expression "pcVar36 = *(code **)(pcVar36 + 0x35b5d4)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35b5d4)" * (cast_expression "(code **)(pcVar36 + 0x35b5d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b5d4)" ( (binary_expression "pcVar36 + 0x35b5d4" identifier + number_literal) ))))) ;) (expression_statement "puVar31[2] = uVar13 << 1;" (assignment_expression "puVar31[2] = uVar13 << 1" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = (binary_expression "uVar13 << 1" identifier << number_literal)) ;) (expression_statement "iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1);" (assignment_expression "iVar2 = (*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1)" identifier = (call_expression "(*pcVar36)(iVar2,uVar11,0,puVar31[1] + uVar13 + 1)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(iVar2,uVar11,0,puVar31[1] + uVar13 + 1)" ( identifier , identifier , number_literal , (binary_expression "puVar31[1] + uVar13 + 1" (binary_expression "puVar31[1] + uVar13" (subscript_expression "puVar31[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar2 == 0) {\n        return (void *)0x0;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        return (void *)0x0;\n      }" { (return_statement "return (void *)0x0;" return (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar13 = puVar31[9];" (assignment_expression "uVar13 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004dee0:\n      *(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;" statement_identifier : (expression_statement "*(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25;" (assignment_expression "*(undefined1 *)(puVar31[0x3c] + uVar13) = uVar25" (pointer_expression "*(undefined1 *)(puVar31[0x3c] + uVar13)" * (cast_expression "(undefined1 *)(puVar31[0x3c] + uVar13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar31[0x3c] + uVar13)" ( (binary_expression "puVar31[0x3c] + uVar13" (subscript_expression "puVar31[0x3c]" identifier [ number_literal ]) + identifier) )))) = identifier) ;)) (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = uVar11 + 1;" (assignment_expression "uVar13 = uVar11 + 1" identifier = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar31[9] = uVar13;" (assignment_expression "puVar31[9] = uVar13" (subscript_expression "puVar31[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];" (assignment_expression "uVar11 = (uint)(uVar13 < uVar11) + puVar31[8]" identifier = (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8]" (call_expression "(uint)(uVar13 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) + (subscript_expression "puVar31[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar31[8] = uVar11;" (assignment_expression "puVar31[8] = uVar11" (subscript_expression "puVar31[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))) {\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }" if (parenthesized_expression "((-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13))))" ( (binary_expression "(-1 < (int)uVar11) && ((uVar11 != 0 || (*puVar31 <= uVar13)))" (parenthesized_expression "(-1 < (int)uVar11)" ( (binary_expression "-1 < (int)uVar11" number_literal < (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((uVar11 != 0 || (*puVar31 <= uVar13)))" ( (parenthesized_expression "(uVar11 != 0 || (*puVar31 <= uVar13))" ( (binary_expression "uVar11 != 0 || (*puVar31 <= uVar13)" (binary_expression "uVar11 != 0" identifier != number_literal) || (parenthesized_expression "(*puVar31 <= uVar13)" ( (binary_expression "*puVar31 <= uVar13" (pointer_expression "*puVar31" * identifier) <= identifier) ))) )) ))) )) (compound_statement "{\n        *puVar31 = uVar13;\n        return (void *)0x1;\n      }" { (expression_statement "*puVar31 = uVar13;" (assignment_expression "*puVar31 = uVar13" (pointer_expression "*puVar31" * identifier) = identifier) ;) (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (void *)0x1;" return (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pcVar34 = *(code **)(pcVar36 + 0x35b7dc);" (assignment_expression "pcVar34 = *(code **)(pcVar36 + 0x35b7dc)" identifier = (pointer_expression "*(code **)(pcVar36 + 0x35b7dc)" * (cast_expression "(code **)(pcVar36 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35b7dc)" ( (binary_expression "pcVar36 + 0x35b7dc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8;" (assignment_expression "iVar2 = *(int *)(pcVar36 + 0x35aab4) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10;" (assignment_expression "iVar30 = *(int *)(pcVar36 + 0x35aab4) + 0x1b10" identifier = (binary_expression "*(int *)(pcVar36 + 0x35aab4) + 0x1b10" (pointer_expression "*(int *)(pcVar36 + 0x35aab4)" * (cast_expression "(int *)(pcVar36 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar36 + 0x35aab4)" ( (binary_expression "pcVar36 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8);" (call_expression "(*pcVar34)(iVar30,iVar2,0x16d7,iVar3 + 0x21c8)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar30,iVar2,0x16d7,iVar3 + 0x21c8)" ( identifier , identifier , number_literal , (binary_expression "iVar3 + 0x21c8" identifier + number_literal) ))) ;) (expression_statement "piVar12 = *(int **)(pcVar34 + 0x35b1b4);" (assignment_expression "piVar12 = *(int **)(pcVar34 + 0x35b1b4)" identifier = (pointer_expression "*(int **)(pcVar34 + 0x35b1b4)" * (cast_expression "(int **)(pcVar34 + 0x35b1b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b1b4)" ( (binary_expression "pcVar34 + 0x35b1b4" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar12;" (assignment_expression "iVar3 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (iVar30 != 0) {\n    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);\n  }" if (parenthesized_expression "(iVar30 != 0)" ( (binary_expression "iVar30 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);\n  }" { (if_statement "if (*(int *)(iVar30 + 0x336c) == -0x54535255) {\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }" if (parenthesized_expression "(*(int *)(iVar30 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar30 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar30 + 0x336c)" * (cast_expression "(int *)(iVar30 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 0x336c)" ( (binary_expression "iVar30 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar31 = *(uint **)(iVar30 + 0x3348);\n      if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);\n    }" { (expression_statement "puVar31 = *(uint **)(iVar30 + 0x3348);" (assignment_expression "puVar31 = *(uint **)(iVar30 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar30 + 0x3348)" * (cast_expression "(uint **)(iVar30 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 + 0x3348)" ( (binary_expression "iVar30 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar30 + 0x25c) == 1) {\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }" if (parenthesized_expression "(*(int *)(iVar30 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar30 + 0x25c) == 1" (pointer_expression "*(int *)(iVar30 + 0x25c)" * (cast_expression "(int *)(iVar30 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + 0x25c)" ( (binary_expression "iVar30 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));\n        if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar31[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;\n        uVar11 = puVar31[9];\n        uVar13 = uVar11 + 4;\n        puVar31[9] = uVar13;\n        uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];\n        puVar31[8] = uVar11;\n        if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }\n        goto LAB_0004e338;\n      }" { (expression_statement "iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18));" (assignment_expression "iVar2 = CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18))" identifier = (call_expression "CONCAT31(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18))" identifier (argument_list "(CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10)),(char)((uint)iVar2 >> 0x18))" ( (call_expression "CONCAT21(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10))" identifier (argument_list "(CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8)),\n                                  (char)((uint)iVar2 >> 0x10))" ( (call_expression "CONCAT11((char)iVar2,(char)((uint)iVar2 >> 8))" identifier (argument_list "((char)iVar2,(char)((uint)iVar2 >> 8))" ( (cast_expression "(char)iVar2" ( (type_descriptor "char" primitive_type) ) identifier) , (cast_expression "(char)((uint)iVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 8)" ( (binary_expression "(uint)iVar2 >> 8" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x10)" ( (binary_expression "(uint)iVar2 >> 0x10" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x18)" ( (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (puVar31 == (uint *)0x0) goto LAB_0004e2cc;" if (parenthesized_expression "(puVar31 == (uint *)0x0)" ( (binary_expression "puVar31 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004e2cc;" goto statement_identifier ;)) (if_statement "if (puVar31[0x10] == 0) goto LAB_0004e2a8;" if (parenthesized_expression "(puVar31[0x10] == 0)" ( (binary_expression "puVar31[0x10] == 0" (subscript_expression "puVar31[0x10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004e2a8;" goto statement_identifier ;)) (if_statement "if (puVar31[0x10] != 7) {\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar31[0x10] != 7)" ( (binary_expression "puVar31[0x10] != 7" (subscript_expression "puVar31[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (expression_statement "puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();" (assignment_expression "puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))()" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar34 + 0x35b918))()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar34 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b918)" * (pointer_expression "*(code **)(pcVar34 + 0x35b918)" * (cast_expression "(code **)(pcVar34 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b918)" ( (binary_expression "pcVar34 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = uVar11 + 4;" (assignment_expression "uVar13 = uVar11 + 4" identifier = (binary_expression "uVar11 + 4" identifier + number_literal)) ;) (if_statement "if (((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)) {\n          uVar13 = puVar31[0x3c];\n        }\n        else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }" if (parenthesized_expression "(((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0))" ( (binary_expression "((uint)(uVar13 < uVar11) + puVar31[8] == 0) &&\n           (uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)" (parenthesized_expression "((uint)(uVar13 < uVar11) + puVar31[8] == 0)" ( (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8] == 0" (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8]" (call_expression "(uint)(uVar13 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) + (subscript_expression "puVar31[8]" identifier [ number_literal ])) == number_literal) )) && (parenthesized_expression "(uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0)" ( (comma_expression "uVar13 = (uint)(uVar13 < puVar31[1]), uVar13 != 0" (assignment_expression "uVar13 = (uint)(uVar13 < puVar31[1])" identifier = (call_expression "(uint)(uVar13 < puVar31[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < puVar31[1])" ( (binary_expression "uVar13 < puVar31[1]" identifier < (subscript_expression "puVar31[1]" identifier [ number_literal ])) )))) , (binary_expression "uVar13 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          uVar13 = puVar31[0x3c];\n        }" { (expression_statement "uVar13 = puVar31[0x3c];" (assignment_expression "uVar13 = puVar31[0x3c]" identifier = (subscript_expression "puVar31[0x3c]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }" else (compound_statement "{\n          uVar11 = puVar31[2];\n          pcVar36 = *(code **)(pcVar34 + 0x35b384);\n          puVar31[2] = uVar11 << 1;\n          iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n          if (iVar30 == 0) goto LAB_0004e2a0;\n          uVar11 = puVar31[9];\n          uVar13 = puVar31[0x3c];\n        }" { (expression_statement "uVar11 = puVar31[2];" (assignment_expression "uVar11 = puVar31[2]" identifier = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar36 = *(code **)(pcVar34 + 0x35b384);" (assignment_expression "pcVar36 = *(code **)(pcVar34 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35b384)" * (cast_expression "(code **)(pcVar34 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b384)" ( (binary_expression "pcVar34 + 0x35b384" identifier + number_literal) ))))) ;) (expression_statement "puVar31[2] = uVar11 << 1;" (assignment_expression "puVar31[2] = uVar11 << 1" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = (binary_expression "uVar11 << 1" identifier << number_literal)) ;) (expression_statement "iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);" (assignment_expression "iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" identifier = (call_expression "(*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar31[1] + uVar11 + 4" (binary_expression "puVar31[1] + uVar11" (subscript_expression "puVar31[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar30 == 0) goto LAB_0004e2a0;" if (parenthesized_expression "(iVar30 == 0)" ( (binary_expression "iVar30 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004e2a0;" goto statement_identifier ;)) (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = puVar31[0x3c];" (assignment_expression "uVar13 = puVar31[0x3c]" identifier = (subscript_expression "puVar31[0x3c]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_0004e15c:\n        *(int *)(uVar13 + uVar11) = iVar2;" statement_identifier : (expression_statement "*(int *)(uVar13 + uVar11) = iVar2;" (assignment_expression "*(int *)(uVar13 + uVar11) = iVar2" (pointer_expression "*(int *)(uVar13 + uVar11)" * (cast_expression "(int *)(uVar13 + uVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar13 + uVar11)" ( (binary_expression "uVar13 + uVar11" identifier + identifier) )))) = identifier) ;)) (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = uVar11 + 4;" (assignment_expression "uVar13 = uVar11 + 4" identifier = (binary_expression "uVar11 + 4" identifier + number_literal)) ;) (expression_statement "puVar31[9] = uVar13;" (assignment_expression "puVar31[9] = uVar13" (subscript_expression "puVar31[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar11 = (uint)(uVar13 < uVar11) + puVar31[8];" (assignment_expression "uVar11 = (uint)(uVar13 < uVar11) + puVar31[8]" identifier = (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8]" (call_expression "(uint)(uVar13 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) + (subscript_expression "puVar31[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar31[8] = uVar11;" (assignment_expression "puVar31[8] = uVar11" (subscript_expression "puVar31[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))) {\n          puVar19 = &DAT_00000004;\n        }\n        else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }" if (parenthesized_expression "(((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31))))" ( (binary_expression "((int)uVar11 < 0) || ((uVar11 == 0 && (uVar13 < *puVar31)))" (parenthesized_expression "((int)uVar11 < 0)" ( (binary_expression "(int)uVar11 < 0" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((uVar11 == 0 && (uVar13 < *puVar31)))" ( (parenthesized_expression "(uVar11 == 0 && (uVar13 < *puVar31))" ( (binary_expression "uVar11 == 0 && (uVar13 < *puVar31)" (binary_expression "uVar11 == 0" identifier == number_literal) && (parenthesized_expression "(uVar13 < *puVar31)" ( (binary_expression "uVar13 < *puVar31" identifier < (pointer_expression "*puVar31" * identifier)) ))) )) ))) )) (compound_statement "{\n          puVar19 = &DAT_00000004;\n        }" { (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) }) (else_clause "else {\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }" else (compound_statement "{\n          *puVar31 = uVar13;\n          puVar19 = &DAT_00000004;\n        }" { (expression_statement "*puVar31 = uVar13;" (assignment_expression "*puVar31 = uVar13" (pointer_expression "*puVar31" * identifier) = identifier) ;) (expression_statement "puVar19 = &DAT_00000004;" (assignment_expression "puVar19 = &DAT_00000004" identifier = (pointer_expression "&DAT_00000004" & identifier)) ;) }))) (labeled_statement "LAB_0004e1b8:\n        if (iVar3 == *piVar12) {\n          return puVar19;\n        }" statement_identifier : (if_statement "if (iVar3 == *piVar12) {\n          return puVar19;\n        }" if (parenthesized_expression "(iVar3 == *piVar12)" ( (binary_expression "iVar3 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n          return puVar19;\n        }" { (return_statement "return puVar19;" return identifier ;) }))) (goto_statement "goto LAB_0004e338;" goto statement_identifier ;) })) (if_statement "if (puVar31 != (uint *)0x0) {\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }" if (parenthesized_expression "(puVar31 != (uint *)0x0)" ( (binary_expression "puVar31 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);\n      }" { (if_statement "if (puVar31[0x10] != 0) {\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar31[0x10] != 0)" ( (binary_expression "puVar31[0x10] != 0" (subscript_expression "puVar31[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }\n          puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (if_statement "if (puVar31[0x10] == 7) {\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }" if (parenthesized_expression "(puVar31[0x10] == 7)" ( (binary_expression "puVar31[0x10] == 7" (subscript_expression "puVar31[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar11 = puVar31[9];\n            uVar13 = uVar11 + 4;\n            if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }\n            uVar13 = puVar31[0x3c];\n            goto LAB_0004e15c;\n          }" { (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = uVar11 + 4;" (assignment_expression "uVar13 = uVar11 + 4" identifier = (binary_expression "uVar11 + 4" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar13 < uVar11) + puVar31[8] == 0) {\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }" if (parenthesized_expression "((uint)(uVar13 < uVar11) + puVar31[8] == 0)" ( (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8] == 0" (binary_expression "(uint)(uVar13 < uVar11) + puVar31[8]" (call_expression "(uint)(uVar13 < uVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < uVar11)" ( (binary_expression "uVar13 < uVar11" identifier < identifier) ))) + (subscript_expression "puVar31[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n              if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }\n            }" { (if_statement "if (puVar31[1] <= uVar13) {\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }" if (parenthesized_expression "(puVar31[1] <= uVar13)" ( (binary_expression "puVar31[1] <= uVar13" (subscript_expression "puVar31[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                uVar11 = puVar31[2];\n                uVar13 = 0;\n                goto LAB_0004e128;\n              }" { (expression_statement "uVar11 = puVar31[2];" (assignment_expression "uVar11 = puVar31[2]" identifier = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004e128;" goto statement_identifier ;) })) }) (else_clause "else {\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }" else (compound_statement "{\n              uVar11 = puVar31[2];\nLAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);\n              puVar31[2] = uVar11 << 1;\n              iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);\n              if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar11 = puVar31[9];\n            }" { (expression_statement "uVar11 = puVar31[2];" (assignment_expression "uVar11 = puVar31[2]" identifier = (subscript_expression "puVar31[2]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004e128:\n              pcVar36 = *(code **)(pcVar34 + 0x35b384);" statement_identifier : (expression_statement "pcVar36 = *(code **)(pcVar34 + 0x35b384);" (assignment_expression "pcVar36 = *(code **)(pcVar34 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35b384)" * (cast_expression "(code **)(pcVar34 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b384)" ( (binary_expression "pcVar34 + 0x35b384" identifier + number_literal) ))))) ;)) (expression_statement "puVar31[2] = uVar11 << 1;" (assignment_expression "puVar31[2] = uVar11 << 1" (subscript_expression "puVar31[2]" identifier [ number_literal ]) = (binary_expression "uVar11 << 1" identifier << number_literal)) ;) (expression_statement "iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4);" (assignment_expression "iVar30 = (*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" identifier = (call_expression "(*pcVar36)(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "(iVar30,uVar13,0,puVar31[1] + uVar11 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar31[1] + uVar11 + 4" (binary_expression "puVar31[1] + uVar11" (subscript_expression "puVar31[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar30 == 0) {\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }" if (parenthesized_expression "(iVar30 == 0)" ( (binary_expression "iVar30 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;\n                goto LAB_0004e1b8;\n              }" { (labeled_statement "LAB_0004e2a0:\n                puVar19 = (undefined1 *)0x0;" statement_identifier : (expression_statement "puVar19 = (undefined1 *)0x0;" (assignment_expression "puVar19 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar11 = puVar31[9];" (assignment_expression "uVar11 = puVar31[9]" identifier = (subscript_expression "puVar31[9]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar13 = puVar31[0x3c];" (assignment_expression "uVar13 = puVar31[0x3c]" identifier = (subscript_expression "puVar31[0x3c]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0004e15c;" goto statement_identifier ;) })) (expression_statement "puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))();" (assignment_expression "puVar19 = (undefined1 *)(**(code **)(pcVar34 + 0x35b918))()" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar34 + 0x35b918))()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar34 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b918)" * (pointer_expression "*(code **)(pcVar34 + 0x35b918)" * (cast_expression "(code **)(pcVar34 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b918)" ( (binary_expression "pcVar34 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004e2a8:\n        (**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar34 + 0x35b58c))\n                  (*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar34 + 0x35b58c)" * (cast_expression "(code **)(pcVar34 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b58c)" ( (binary_expression "pcVar34 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35a864) + 0x1b10,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar34 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1b10" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (labeled_statement "LAB_0004e2cc:\n      (**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar34 + 0x35b58c))\n                (*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar34 + 0x35b58c)" * (cast_expression "(code **)(pcVar34 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b58c)" ( (binary_expression "pcVar34 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35a864) + 0x1aec,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar34 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1aec" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (expression_statement "(**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar34 + 0x35b58c))\n              (*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar34 + 0x35b58c)" * (cast_expression "(code **)(pcVar34 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b58c)" ( (binary_expression "pcVar34 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35a86c) + -0x3784,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar34 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar34 + 0x35a86c) + -0x3784" (pointer_expression "*(int *)(pcVar34 + 0x35a86c)" * (cast_expression "(int *)(pcVar34 + 0x35a86c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a86c)" ( (binary_expression "pcVar34 + 0x35a86c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar34 + 0x35b58c))\n            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar34 + 0x35b58c))\n            (*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar34 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar34 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar34 + 0x35b58c)" * (cast_expression "(code **)(pcVar34 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35b58c)" ( (binary_expression "pcVar34 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x35a864) + 0xdd0,*(int *)(pcVar34 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar34 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0xdd0" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar34 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar34 + 0x35a864)" * (cast_expression "(int *)(pcVar34 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x35a864)" ( (binary_expression "pcVar34 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004e338:\n  pcVar36 = *(code **)(pcVar34 + 0x35afe8);" statement_identifier : (expression_statement "pcVar36 = *(code **)(pcVar34 + 0x35afe8);" (assignment_expression "pcVar36 = *(code **)(pcVar34 + 0x35afe8)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x35afe8)" * (cast_expression "(code **)(pcVar34 + 0x35afe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x35afe8)" ( (binary_expression "pcVar34 + 0x35afe8" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar36)();" (call_expression "(*pcVar36)()" (parenthesized_expression "(*pcVar36)" ( (pointer_expression "*pcVar36" * identifier) )) (argument_list "()" ( ))) ;) comment comment (expression_statement "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))();" (assignment_expression "pvVar7 = (void *)(**(code **)(pcVar36 + 0x35ac94))()" identifier = (cast_expression "(void *)(**(code **)(pcVar36 + 0x35ac94))()" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar36 + 0x35ac94))()" (parenthesized_expression "(**(code **)(pcVar36 + 0x35ac94))" ( (pointer_expression "**(code **)(pcVar36 + 0x35ac94)" * (pointer_expression "*(code **)(pcVar36 + 0x35ac94)" * (cast_expression "(code **)(pcVar36 + 0x35ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar36 + 0x35ac94)" ( (binary_expression "pcVar36 + 0x35ac94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return pvVar7;" return identifier ;) (labeled_statement "LAB_0004d1b4:\n  unaff_s7->length = uVar13;" statement_identifier : (expression_statement "unaff_s7->length = uVar13;" (assignment_expression "unaff_s7->length = uVar13" (field_expression "unaff_s7->length" identifier -> field_identifier) = identifier) ;)) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;) })))
(translation_unit "int * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}\n\n" (function_definition "int * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" primitive_type (pointer_declarator "* ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" * (function_declarator "ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" identifier (parameter_list "(int *param_1,int *param_2,int *param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "undefined1 uVar17;" type_identifier identifier ;) (declaration "dword *pdVar18;" type_identifier (pointer_declarator "*pdVar18" * identifier) ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "dword *pdVar23;" type_identifier (pointer_declarator "*pdVar23" * identifier) ;) (declaration "int *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "uint unaff_s8;" type_identifier identifier ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "ulonglong uVar27;" type_identifier identifier ;) (declaration "longlong lVar28;" type_identifier identifier ;) (declaration "uint uStack_4330;" type_identifier identifier ;) (declaration "undefined1 auStack_4328 [56];" type_identifier (array_declarator "auStack_4328 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_42f0;" primitive_type identifier ;) (declaration "uint uStack_42ec;" type_identifier identifier ;) (declaration "undefined1 auStack_4284 [4096];" type_identifier (array_declarator "auStack_4284 [4096]" identifier [ number_literal ]) ;) (declaration "int iStack_3284;" primitive_type identifier ;) (declaration "undefined *puStack_3280;" type_identifier (pointer_declarator "*puStack_3280" * identifier) ;) (declaration "int *piStack_327c;" primitive_type (pointer_declarator "*piStack_327c" * identifier) ;) (declaration "int *piStack_3278;" primitive_type (pointer_declarator "*piStack_3278" * identifier) ;) (declaration "int *piStack_3274;" primitive_type (pointer_declarator "*piStack_3274" * identifier) ;) (declaration "dword *pdStack_3270;" type_identifier (pointer_declarator "*pdStack_3270" * identifier) ;) (declaration "int *piStack_326c;" primitive_type (pointer_declarator "*piStack_326c" * identifier) ;) (declaration "int *piStack_3268;" primitive_type (pointer_declarator "*piStack_3268" * identifier) ;) (declaration "uint *puStack_3264;" type_identifier (pointer_declarator "*puStack_3264" * identifier) ;) (declaration "uint uStack_3260;" type_identifier identifier ;) (declaration "code *pcStack_325c;" type_identifier (pointer_declarator "*pcStack_325c" * identifier) ;) (declaration "int iStack_3248;" primitive_type identifier ;) (declaration "int *piStack_3244;" primitive_type (pointer_declarator "*piStack_3244" * identifier) ;) (declaration "int iStack_3240;" primitive_type identifier ;) (declaration "int *piStack_323c;" primitive_type (pointer_declarator "*piStack_323c" * identifier) ;) (declaration "undefined *puStack_3238;" type_identifier (pointer_declarator "*puStack_3238" * identifier) ;) (declaration "code *pcStack_3230;" type_identifier (pointer_declarator "*pcStack_3230" * identifier) ;) (declaration "int *piStack_3224;" primitive_type (pointer_declarator "*piStack_3224" * identifier) ;) (declaration "undefined4 uStack_3220;" type_identifier identifier ;) (declaration "dword *pdStack_321c;" type_identifier (pointer_declarator "*pdStack_321c" * identifier) ;) (declaration "int *piStack_3218;" primitive_type (pointer_declarator "*piStack_3218" * identifier) ;) (declaration "uint uStack_3214;" type_identifier identifier ;) (declaration "undefined1 auStack_3210 [56];" type_identifier (array_declarator "auStack_3210 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_31d8;" primitive_type identifier ;) (declaration "dword *pdStack_31d4;" type_identifier (pointer_declarator "*pdStack_31d4" * identifier) ;) (declaration "int iStack_316c;" primitive_type identifier ;) (declaration "undefined *puStack_3168;" type_identifier (pointer_declarator "*puStack_3168" * identifier) ;) (declaration "int *piStack_3164;" primitive_type (pointer_declarator "*piStack_3164" * identifier) ;) (declaration "int *piStack_3160;" primitive_type (pointer_declarator "*piStack_3160" * identifier) ;) (declaration "int *piStack_315c;" primitive_type (pointer_declarator "*piStack_315c" * identifier) ;) (declaration "dword *pdStack_3158;" type_identifier (pointer_declarator "*pdStack_3158" * identifier) ;) (declaration "int *piStack_3154;" primitive_type (pointer_declarator "*piStack_3154" * identifier) ;) (declaration "int *piStack_3150;" primitive_type (pointer_declarator "*piStack_3150" * identifier) ;) (declaration "uint *puStack_314c;" type_identifier (pointer_declarator "*puStack_314c" * identifier) ;) (declaration "undefined1 auStack_308c [4096];" type_identifier (array_declarator "auStack_308c [4096]" identifier [ number_literal ]) ;) (declaration "int aiStack_208c [1024];" primitive_type (array_declarator "aiStack_208c [1024]" identifier [ number_literal ]) ;) (declaration "dword dStack_108c;" type_identifier identifier ;) (declaration "undefined *puStack_1084;" type_identifier (pointer_declarator "*puStack_1084" * identifier) ;) (declaration "int *piStack_1080;" primitive_type (pointer_declarator "*piStack_1080" * identifier) ;) (declaration "int *piStack_107c;" primitive_type (pointer_declarator "*piStack_107c" * identifier) ;) (declaration "int *piStack_1078;" primitive_type (pointer_declarator "*piStack_1078" * identifier) ;) (declaration "undefined *puStack_1074;" type_identifier (pointer_declarator "*puStack_1074" * identifier) ;) (declaration "int *piStack_1070;" primitive_type (pointer_declarator "*piStack_1070" * identifier) ;) (declaration "int *piStack_106c;" primitive_type (pointer_declarator "*piStack_106c" * identifier) ;) (declaration "uint *puStack_1068;" type_identifier (pointer_declarator "*puStack_1068" * identifier) ;) (declaration "code *pcStack_1064;" type_identifier (pointer_declarator "*pcStack_1064" * identifier) ;) (declaration "uint *local_1050;" type_identifier (pointer_declarator "*local_1050" * identifier) ;) (declaration "int *local_104c;" primitive_type (pointer_declarator "*local_104c" * identifier) ;) (declaration "undefined *local_1048;" type_identifier (pointer_declarator "*local_1048" * identifier) ;) (declaration "int *local_1044;" primitive_type (pointer_declarator "*local_1044" * identifier) ;) (declaration "int *local_1040;" primitive_type (pointer_declarator "*local_1040" * identifier) ;) (declaration "uint auStack_102c [1024];" type_identifier (array_declarator "auStack_102c [1024]" identifier [ number_literal ]) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }" { (labeled_statement "LAB_0004c02c:\n    param_3 = unaff_s5;" statement_identifier : (expression_statement "param_3 = unaff_s5;" (assignment_expression "param_3 = unaff_s5" identifier = identifier) ;)) (expression_statement "param_4 = unaff_s3;" (assignment_expression "param_4 = unaff_s3" identifier = identifier) ;) (expression_statement "puVar19 = PTR_LAB_003a88e0 + 0x2520;" (assignment_expression "puVar19 = PTR_LAB_003a88e0 + 0x2520" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" ( (binary_expression "PTR_LAB_003a88e0 + 0xd78" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" else (compound_statement "{\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" { (if_statement "if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" if (parenthesized_expression "(param_1[0xc85] != -0x54535255)" ( (binary_expression "param_1[0xc85] != -0x54535255" (subscript_expression "param_1[0xc85]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" { (labeled_statement "LAB_0004bfdc:\n      param_2 = unaff_s1;" statement_identifier : (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" identifier = identifier) ;)) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x2520)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" ( (binary_expression "PTR_LAB_003a88e0 + 0xda0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();" statement_identifier : (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "piVar12 + 0x948" identifier + number_literal) ))) ;)) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" identifier = identifier) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0004c02c;" goto statement_identifier ;) })) (if_statement "if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" if (parenthesized_expression "(param_1[0xc84] != 0)" ( (binary_expression "param_1[0xc84] != 0" (subscript_expression "param_1[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" { (expression_statement "local_104c = param_1 + 0x884;" (assignment_expression "local_104c = param_1 + 0x884" identifier = (binary_expression "param_1 + 0x884" identifier + number_literal)) ;) (expression_statement "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" identifier = (cast_expression "(uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" ( (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "puVar13 = PTR_CloneImageInfo_003a919c;" (assignment_expression "puVar13 = PTR_CloneImageInfo_003a919c" identifier = identifier) ;) (expression_statement "piVar12 = (int *)PTR_LAB_003a88e0;" (assignment_expression "piVar12 = (int *)PTR_LAB_003a88e0" identifier = (cast_expression "(int *)PTR_LAB_003a88e0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" identifier = identifier) ;) (expression_statement "unaff_s3 = param_4;" (assignment_expression "unaff_s3 = param_4" identifier = identifier) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (if_statement "if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" if (parenthesized_expression "(param_2 == (int *)0x0)" ( (binary_expression "param_2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" ( (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x2520" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004bfdc;" goto statement_identifier ;) })) (if_statement "if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;" if (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" ( (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004c00c;" goto statement_identifier ;)) (expression_statement "puVar19 = PTR_LAB_003a88e0;" (assignment_expression "puVar19 = PTR_LAB_003a88e0" identifier = identifier) ;) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" identifier = identifier) ;) (if_statement "if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" { (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "unaff_s6 = param_2 + 0x8d0;" (assignment_expression "unaff_s6 = param_2 + 0x8d0" identifier = (binary_expression "param_2 + 0x8d0" identifier + number_literal)) ;) (expression_statement "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);" (assignment_expression "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1)" identifier = (cast_expression "(undefined *)(*(code *)puVar13)(param_1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar13)(param_1)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "*(undefined4 *)(unaff_s0 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s0 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0xc)" ( (binary_expression "unaff_s0 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);" (call_expression "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4)" (parenthesized_expression "(*(code *)PTR_SetImageInfo_003a95d8)" ( (pointer_expression "*(code *)PTR_SetImageInfo_003a95d8" * (cast_expression "(code *)PTR_SetImageInfo_003a95d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,1,param_4)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" if (parenthesized_expression "(unaff_s0[0x210] != '\0')" ( (binary_expression "unaff_s0[0x210] != '\0'" (subscript_expression "unaff_s0[0x210]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,unaff_s0 + 0x210,0x1000)" ( identifier , (binary_expression "unaff_s0 + 0x210" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);" (assignment_expression "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" identifier = (cast_expression "(uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" (parenthesized_expression "(*(code *)PTR_GetMagickInfo_003a940c)" ( (pointer_expression "*(code *)PTR_GetMagickInfo_003a940c" * (cast_expression "(code *)PTR_GetMagickInfo_003a940c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s6,param_4)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" if (parenthesized_expression "(unaff_s7 == (uint *)0x0)" ( (binary_expression "unaff_s7 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }" { (expression_statement "piVar12 = (int *)0x804;" (assignment_expression "piVar12 = (int *)0x804" identifier = (cast_expression "(int *)0x804" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cec)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cec" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)0x1a4;" (assignment_expression "local_1050 = (uint *)0x1a4" identifier = (cast_expression "(uint *)0x1a4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = unaff_s6;" (assignment_expression "local_1044 = unaff_s6" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) }) (else_clause "else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" else (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" { (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" ( (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" * (cast_expression "(code *)PTR_CopyMagickString_003a983c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0 + 0x210,unaff_s6,0x1000)" ( (binary_expression "unaff_s0 + 0x210" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)" ( (pointer_expression "*(code *)PTR_GetMagickBlobSupport_003a9774" * (cast_expression "(code *)PTR_GetMagickBlobSupport_003a9774" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (expression_statement "puVar13 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar13 = PTR_AcquireQuantumMemory_003a950c" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }" { (expression_statement "unaff_s7 = auStack_102c;" (assignment_expression "unaff_s7 = auStack_102c" identifier = identifier) ;) (expression_statement "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }" { (expression_statement "piVar11 = param_1 + 0x884;" (assignment_expression "piVar11 = param_1 + 0x884" identifier = (binary_expression "param_1 + 0x884" identifier + number_literal)) ;) (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" ( (pointer_expression "*(code *)PTR___errno_location_003a99b0" * (cast_expression "(code *)PTR___errno_location_003a99b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" identifier = (cast_expression "(int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" ( (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" * (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "piVar12 = (int *)0x835;" (assignment_expression "piVar12 = (int *)0x835" identifier = (cast_expression "(int *)0x835" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0xe78;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0xe78" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xe78" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ba4)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1ba4" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)&DAT_000001b3;" (assignment_expression "local_1050 = (uint *)&DAT_000001b3" identifier = (cast_expression "(uint *)&DAT_000001b3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001b3" & identifier))) ;) (expression_statement "local_1044 = piVar11;" (assignment_expression "local_1044 = piVar11" identifier = identifier) ;) (expression_statement "local_1040 = piVar2;" (assignment_expression "local_1040 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(piVar2);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(piVar2)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" ( (pointer_expression "*(code *)PTR_DestroyString_003a9074" * (cast_expression "(code *)PTR_DestroyString_003a9074" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" else (compound_statement "{\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" { (expression_statement "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);" (assignment_expression "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" identifier = (call_expression "(*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" (parenthesized_expression "(*(code *)PTR_fdopen_003a97d8)" ( (pointer_expression "*(code *)PTR_fdopen_003a97d8" * (cast_expression "(code *)PTR_fdopen_003a97d8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,PTR_LAB_003a88e0 + 0xe98)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0xe98" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_s0 + 0x204) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x204) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x204)" * (cast_expression "(int *)(unaff_s0 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x204)" ( (binary_expression "unaff_s0 + 0x204" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar2 = param_2;" (assignment_expression "piVar2 = param_2" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }" { (labeled_statement "LAB_0004bd90:\n              param_1 = (int *)0x0;" statement_identifier : (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" else (compound_statement "{\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" { (expression_statement "piVar12 = unaff_s6;" (assignment_expression "piVar12 = unaff_s6" identifier = identifier) ;) (expression_statement "local_1050 = unaff_s7;" (assignment_expression "local_1050 = unaff_s7" identifier = identifier) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" * (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1d10" identifier + number_literal) , identifier ))) ;) (expression_statement "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)PTR_WriteImage_003a8f74)" ( (pointer_expression "*(code *)PTR_WriteImage_003a8f74" * (cast_expression "(code *)PTR_WriteImage_003a8f74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,param_2,param_4)" ( identifier , identifier , identifier ))))) ;) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));" (call_expression "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204))" (parenthesized_expression "(*(code *)PTR_fclose_003a939c)" ( (pointer_expression "*(code *)PTR_fclose_003a939c" * (cast_expression "(code *)PTR_fclose_003a939c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(unaff_s0 + 0x204))" ( (pointer_expression "*(undefined4 *)(unaff_s0 + 0x204)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x204)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x204)" ( (binary_expression "unaff_s0 + 0x204" identifier + number_literal) )))) ))) ;) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0004bd90;" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004bd90;" goto statement_identifier ;)) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" identifier = identifier) ;) (expression_statement "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);" (assignment_expression "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" identifier = (cast_expression "(int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_FileToBlob_003a8d24)" ( (pointer_expression "*(code *)PTR_FileToBlob_003a8d24" * (cast_expression "(code *)PTR_FileToBlob_003a8d24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,0xffffffff,param_3,param_4)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);" (call_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)" ( (pointer_expression "*(code *)PTR_RelinquishUniqueFileResource_003a8f9c" * (cast_expression "(code *)PTR_RelinquishUniqueFileResource_003a8f9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7)" ( identifier ))) ;) }))) }) (else_clause "else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" else (compound_statement "{\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" { (expression_statement "*(undefined4 *)(unaff_s0 + 0x20c) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x20c) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x20c)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x20c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x20c)" ( (binary_expression "unaff_s0 + 0x20c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar1 = (*(code *)puVar13)(0x10000,1);" (assignment_expression "iVar1 = (*(code *)puVar13)(0x10000,1)" identifier = (call_expression "(*(code *)puVar13)(0x10000,1)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10000,1)" ( number_literal , number_literal )))) ;) (expression_statement "*(int *)(unaff_s0 + 0x208) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x208) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x208)" * (cast_expression "(int *)(unaff_s0 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }" { (expression_statement "piVar2 = param_2 + 0xd0;" (assignment_expression "piVar2 = param_2 + 0xd0" identifier = (binary_expression "param_2 + 0xd0" identifier + number_literal)) ;) (expression_statement "piVar12 = (int *)0x814;" (assignment_expression "piVar12 = (int *)0x814" identifier = (cast_expression "(int *)0x814" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x3e28" identifier + number_literal)) ;) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x16f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x16f8)" ( (binary_expression "PTR_LAB_003a88e0 + 0x16f8" identifier + number_literal) )))) ;) (expression_statement "local_1050 = (uint *)0x190;" (assignment_expression "local_1050 = (uint *)0x190" identifier = (cast_expression "(uint *)0x190" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1044 = piVar2;" (assignment_expression "local_1044 = piVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" ( (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" * (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x2514" identifier + number_literal) , number_literal ))) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" else (compound_statement "{\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" { (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" ( (pointer_expression "*(code *)PTR_CloseBlob_003a9688" * (cast_expression "(code *)PTR_CloseBlob_003a9688" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "puVar13 = PTR_WriteImage_003a8f74;" (assignment_expression "puVar13 = PTR_WriteImage_003a8f74" identifier = identifier) ;) (expression_statement "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1;" (assignment_expression "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1" (pointer_expression "*(undefined4 *)(param_2[0xcd2] + 0x30)" * (cast_expression "(undefined4 *)(param_2[0xcd2] + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2[0xcd2] + 0x30)" ( (binary_expression "param_2[0xcd2] + 0x30" (subscript_expression "param_2[0xcd2]" identifier [ number_literal ]) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_2 + 0xd0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xd0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xd0)" * (cast_expression "(undefined1 *)(param_2 + 0xd0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" identifier = (cast_expression "(int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar13)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0,param_2,param_4)" ( identifier , identifier , identifier ))))) ;) (expression_statement "puVar13 = PTR_DetachBlob_003a976c;" (assignment_expression "puVar13 = PTR_DetachBlob_003a976c" identifier = identifier) ;) (expression_statement "piVar11 = (int *)param_2[0xcd2];" (assignment_expression "piVar11 = (int *)param_2[0xcd2]" identifier = (cast_expression "(int *)param_2[0xcd2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "*param_3 = *piVar11;" (assignment_expression "*param_3 = *piVar11" (pointer_expression "*param_3" * identifier) = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "iVar1 = (*(code *)puVar13)(piVar11);" (assignment_expression "iVar1 = (*(code *)puVar13)(piVar11)" identifier = (call_expression "(*(code *)puVar13)(piVar11)" (parenthesized_expression "(*(code *)puVar13)" ( (pointer_expression "*(code *)puVar13" * (cast_expression "(code *)puVar13" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar11)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }" { (expression_statement "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));" (assignment_expression "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" identifier = (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(unaff_s0 + 0x208))" ( (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(unaff_s0 + 0x208) = uVar3;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x208) = uVar3" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" * (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 + 0x208)" ( (binary_expression "unaff_s0 + 0x208" identifier + number_literal) )))) = identifier) ;) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" else (if_statement "if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }" { (expression_statement "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" identifier = (cast_expression "(int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1)" ( identifier ))))) ;) }) (else_clause "else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" else (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" { (expression_statement "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" identifier = (cast_expression "(int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" (parenthesized_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)" ( (pointer_expression "*(code *)PTR_ResizeQuantumMemory_003a9420" * (cast_expression "(code *)PTR_ResizeQuantumMemory_003a9420" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,*param_3 + 1,1)" ( identifier , (binary_expression "*param_3 + 1" (pointer_expression "*param_3" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" ( (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" * (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s0)" ( identifier ))) ;) (expression_statement "param_2 = piVar2;" (assignment_expression "param_2 = piVar2" identifier = identifier) ;) }))) (if_statement "if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return param_1;\n      }" { (return_statement "return param_1;" return identifier ;) })) (goto_statement "goto LAB_0004c000;" goto statement_identifier ;) })) }))) (expression_statement "piVar2 = (int *)&DAT_000007f9;" (assignment_expression "piVar2 = (int *)&DAT_000007f9" identifier = (cast_expression "(int *)&DAT_000007f9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000007f9" & identifier))) ;) (expression_statement "piVar11 = (int *)(puVar19 + 0x2520);" (assignment_expression "piVar11 = (int *)(puVar19 + 0x2520)" identifier = (cast_expression "(int *)(puVar19 + 0x2520)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x2520)" ( (binary_expression "puVar19 + 0x2520" identifier + number_literal) )))) ;) (expression_statement "puVar13 = PTR_LAB_003a88e0 + 0x1ad8;" (assignment_expression "puVar13 = PTR_LAB_003a88e0 + 0x1ad8" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal)) ;) (expression_statement "pcVar26 = ImagesToBlob;" (assignment_expression "pcVar26 = ImagesToBlob" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cac)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1cac" identifier + number_literal) )))) ;) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1074 = puVar4;" (assignment_expression "puStack_1074 = puVar4" identifier = identifier) ;) (expression_statement "pdVar23 = *(dword **)(puVar19 + 0x35d1c0);" (assignment_expression "pdVar23 = *(dword **)(puVar19 + 0x35d1c0)" identifier = (pointer_expression "*(dword **)(puVar19 + 0x35d1c0)" * (cast_expression "(dword **)(puVar19 + 0x35d1c0)" ( (type_descriptor "dword **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d1c0)" ( (binary_expression "puVar19 + 0x35d1c0" identifier + number_literal) ))))) ;) (expression_statement "dStack_108c = *pdVar23;" (assignment_expression "dStack_108c = *pdVar23" identifier = (pointer_expression "*pdVar23" * identifier)) ;) (expression_statement "puStack_1084 = unaff_s0;" (assignment_expression "puStack_1084 = unaff_s0" identifier = identifier) ;) (expression_statement "piStack_1080 = unaff_s1;" (assignment_expression "piStack_1080 = unaff_s1" identifier = identifier) ;) (expression_statement "piStack_107c = unaff_s2;" (assignment_expression "piStack_107c = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_1078 = param_4;" (assignment_expression "piStack_1078 = param_4" identifier = identifier) ;) (expression_statement "piStack_1070 = param_3;" (assignment_expression "piStack_1070 = param_3" identifier = identifier) ;) (expression_statement "piStack_106c = unaff_s6;" (assignment_expression "piStack_106c = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_1068 = unaff_s7;" (assignment_expression "puStack_1068 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_1064 = pcVar26;" (assignment_expression "pcStack_1064 = pcVar26" identifier = identifier) ;) (if_statement "if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" { (if_statement "if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" if (parenthesized_expression "(piVar12[0xc85] == -0x54535255)" ( (binary_expression "piVar12[0xc85] == -0x54535255" (subscript_expression "piVar12[0xc85]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }" { (if_statement "if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" if (parenthesized_expression "(piVar12[0xc84] != 0)" ( (binary_expression "piVar12[0xc84] != 0" (subscript_expression "piVar12[0xc84]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" { (expression_statement "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);" (call_expression "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d170))" ( (pointer_expression "**(code **)(puVar19 + 0x35d170)" * (pointer_expression "*(code **)(puVar19 + 0x35d170)" * (cast_expression "(code **)(puVar19 + 0x35d170)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d170)" ( (binary_expression "puVar19 + 0x35d170" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" ( number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" identifier = identifier) ;) (expression_statement "param_4 = piVar11;" (assignment_expression "param_4 = piVar11" identifier = identifier) ;) (expression_statement "param_3 = piVar2;" (assignment_expression "param_3 = piVar2" identifier = identifier) ;) (if_statement "if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c5a4;" goto statement_identifier ;)) (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870);" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870)" identifier = (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" if (parenthesized_expression "(*(int *)(puVar13 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar13 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" * (cast_expression "(int *)(puVar13 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x336c)" ( (binary_expression "puVar13 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" { (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d12c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d12c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d12c)" * (cast_expression "(code **)(puVar19 + 0x35d12c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d12c)" ( (binary_expression "puVar19 + 0x35d12c" identifier + number_literal) ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" { (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" * identifier) = number_literal) ;) (expression_statement "unaff_s7 = (uint *)(puVar13 + 0x2340);" (assignment_expression "unaff_s7 = (uint *)(puVar13 + 0x2340)" identifier = (cast_expression "(uint *)(puVar13 + 0x2340)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x2340)" ( (binary_expression "puVar13 + 0x2340" identifier + number_literal) )))) ;) (expression_statement "unaff_s2 = (int *)(*pcVar26)(piVar12);" (assignment_expression "unaff_s2 = (int *)(*pcVar26)(piVar12)" identifier = (cast_expression "(int *)(*pcVar26)(piVar12)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier ))))) ;) (expression_statement "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);" (assignment_expression "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d208))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d208))" ( (pointer_expression "**(code **)(puVar19 + 0x35d208)" * (pointer_expression "*(code **)(puVar19 + 0x35d208)" * (cast_expression "(code **)(puVar19 + 0x35d208)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d208)" ( (binary_expression "puVar19 + 0x35d208" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier )))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);" (call_expression "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d568))" ( (pointer_expression "**(code **)(puVar19 + 0x35d568)" * (pointer_expression "*(code **)(puVar19 + 0x35d568)" * (cast_expression "(code **)(puVar19 + 0x35d568)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d568)" ( (binary_expression "puVar19 + 0x35d568" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,uVar3,piVar11)" ( identifier , identifier , identifier ))) ;) (if_statement "if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" if (parenthesized_expression "(*(char *)(unaff_s2 + 0x84) != '\0')" ( (binary_expression "*(char *)(unaff_s2 + 0x84) != '\0'" (pointer_expression "*(char *)(unaff_s2 + 0x84)" * (cast_expression "(char *)(unaff_s2 + 0x84)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s2 + 0x84)" ( (binary_expression "unaff_s2 + 0x84" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" { (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" * (cast_expression "(code **)(puVar19 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d7cc)" ( (binary_expression "puVar19 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,unaff_s2 + 0x84,0x1000)" ( identifier , (binary_expression "unaff_s2 + 0x84" identifier + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);" (assignment_expression "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d39c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d39c)" * (pointer_expression "*(code **)(puVar19 + 0x35d39c)" * (cast_expression "(code **)(puVar19 + 0x35d39c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d39c)" ( (binary_expression "puVar19 + 0x35d39c" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,piVar11)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" if (parenthesized_expression "(unaff_s6 == (int *)0x0)" ( (binary_expression "unaff_s6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }) (else_clause "else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" else (compound_statement "{\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc9c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cc9c)" * (pointer_expression "*(code **)(puVar19 + 0x35cc9c)" * (cast_expression "(code **)(puVar19 + 0x35cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc9c)" ( (binary_expression "puVar19 + 0x35cc9c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }" { (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d45c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d45c)" * (pointer_expression "*(code **)(puVar19 + 0x35d45c)" * (cast_expression "(code **)(puVar19 + 0x35d45c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d45c)" ( (binary_expression "puVar19 + 0x35d45c" identifier + number_literal) ))))) )) (argument_list "(piVar12,puVar13,piVar2,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) }) (else_clause "else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" else (compound_statement "{\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" { (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" ( (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" * (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" * (cast_expression "(code **)(puVar19 + 0x35d7cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d7cc)" ( (binary_expression "puVar19 + 0x35d7cc" identifier + number_literal) ))))) )) (argument_list "(unaff_s2 + 0x84,unaff_s7,0x1000)" ( (binary_expression "unaff_s2 + 0x84" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d704))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d704))" ( (pointer_expression "**(code **)(puVar19 + 0x35d704)" * (pointer_expression "*(code **)(puVar19 + 0x35d704)" * (cast_expression "(code **)(puVar19 + 0x35d704)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d704)" ( (binary_expression "puVar19 + 0x35d704" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }" { (expression_statement "unaff_s6 = aiStack_208c;" (assignment_expression "unaff_s6 = aiStack_208c" identifier = identifier) ;) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" identifier = (call_expression "(**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cdd4))" ( (pointer_expression "**(code **)(puVar19 + 0x35cdd4)" * (pointer_expression "*(code **)(puVar19 + 0x35cdd4)" * (cast_expression "(code **)(puVar19 + 0x35cdd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cdd4)" ( (binary_expression "puVar19 + 0x35cdd4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar19 + 0x35d940))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d940))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35d940))" ( (pointer_expression "**(code **)(puVar19 + 0x35d940)" * (pointer_expression "*(code **)(puVar19 + 0x35d940)" * (cast_expression "(code **)(puVar19 + 0x35d940)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d940)" ( (binary_expression "puVar19 + 0x35d940" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d37c))(*puVar8)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d37c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d37c)" * (pointer_expression "*(code **)(puVar19 + 0x35d37c)" * (cast_expression "(code **)(puVar19 + 0x35d37c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d37c)" ( (binary_expression "puVar19 + 0x35d37c" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d004))(puVar4);" (call_expression "(**(code **)(puVar19 + 0x35d004))(puVar4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d004))" ( (pointer_expression "**(code **)(puVar19 + 0x35d004)" * (pointer_expression "*(code **)(puVar19 + 0x35d004)" * (cast_expression "(code **)(puVar19 + 0x35d004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d004)" ( (binary_expression "puVar19 + 0x35d004" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) }) (else_clause "else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" else (compound_statement "{\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" identifier = (call_expression "(**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d768))" ( (pointer_expression "**(code **)(puVar19 + 0x35d768)" * (pointer_expression "*(code **)(puVar19 + 0x35d768)" * (cast_expression "(code **)(puVar19 + 0x35d768)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d768)" ( (binary_expression "puVar19 + 0x35d768" identifier + number_literal) ))))) )) (argument_list "(iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xe98" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s2[0x81] = iVar1;" (assignment_expression "unaff_s2[0x81] = iVar1" (subscript_expression "unaff_s2[0x81]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }" { (labeled_statement "LAB_0004c308:\n                    piVar12 = (int *)0x0;" statement_identifier : (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) (else_clause "else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" else (compound_statement "{\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" { (expression_statement "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);" (call_expression "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cd0c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cd0c)" * (pointer_expression "*(code **)(puVar19 + 0x35cd0c)" * (cast_expression "(code **)(puVar19 + 0x35cd0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cd0c)" ( (binary_expression "puVar19 + 0x35cd0c" identifier + number_literal) ))))) )) (argument_list "(auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" ( identifier , number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1d10" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);" (assignment_expression "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" identifier = (cast_expression "(undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc0c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cc0c)" * (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" * (cast_expression "(code **)(puVar19 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc0c)" ( (binary_expression "puVar19 + 0x35cc0c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,puVar13,auStack_308c,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" ( (pointer_expression "**(code **)(puVar19 + 0x35d618)" * (pointer_expression "*(code **)(puVar19 + 0x35d618)" * (cast_expression "(code **)(puVar19 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d618)" ( (binary_expression "puVar19 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);" (call_expression "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81])" (parenthesized_expression "(**(code **)(puVar19 + 0x35d32c))" ( (pointer_expression "**(code **)(puVar19 + 0x35d32c)" * (pointer_expression "*(code **)(puVar19 + 0x35d32c)" * (cast_expression "(code **)(puVar19 + 0x35d32c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d32c)" ( (binary_expression "puVar19 + 0x35d32c" identifier + number_literal) ))))) )) (argument_list "(unaff_s2[0x81])" ( (subscript_expression "unaff_s2[0x81]" identifier [ number_literal ]) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004c308;" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004c308;" goto statement_identifier ;)) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ccb4))" ( (pointer_expression "**(code **)(puVar19 + 0x35ccb4)" * (pointer_expression "*(code **)(puVar19 + 0x35ccb4)" * (cast_expression "(code **)(puVar19 + 0x35ccb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ccb4)" ( (binary_expression "puVar19 + 0x35ccb4" identifier + number_literal) ))))) )) (argument_list "(unaff_s6,0xffffffff,piVar2,piVar11)" ( identifier , number_literal , identifier , identifier ))))) ;) }))) (expression_statement "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6);" (call_expression "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf2c))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf2c)" * (pointer_expression "*(code **)(puVar19 + 0x35cf2c)" * (cast_expression "(code **)(puVar19 + 0x35cf2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf2c)" ( (binary_expression "puVar19 + 0x35cf2c" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))) ;) }))) }) (else_clause "else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" else (compound_statement "{\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" { (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d49c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d49c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d49c)" * (cast_expression "(code **)(puVar19 + 0x35d49c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d49c)" ( (binary_expression "puVar19 + 0x35d49c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2[0x83] = 0;" (assignment_expression "unaff_s2[0x83] = 0" (subscript_expression "unaff_s2[0x83]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = (int *)(puVar13 + 0x340);" (assignment_expression "unaff_s6 = (int *)(puVar13 + 0x340)" identifier = (cast_expression "(int *)(puVar13 + 0x340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x340)" ( (binary_expression "puVar13 + 0x340" identifier + number_literal) )))) ;) (expression_statement "iVar1 = (*pcVar26)(0x10000,1);" (assignment_expression "iVar1 = (*pcVar26)(0x10000,1)" identifier = (call_expression "(*pcVar26)(0x10000,1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(0x10000,1)" ( number_literal , number_literal )))) ;) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }" { (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" ( (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" * (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" * (cast_expression "(code **)(puVar19 + 0x35ceb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35ceb0)" ( (binary_expression "puVar19 + 0x35ceb0" identifier + number_literal) ))))) )) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" else (compound_statement "{\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" { (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" ( (pointer_expression "**(code **)(puVar19 + 0x35d618)" * (pointer_expression "*(code **)(puVar19 + 0x35d618)" * (cast_expression "(code **)(puVar19 + 0x35d618)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d618)" ( (binary_expression "puVar19 + 0x35d618" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35cc0c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35cc0c)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" * (cast_expression "(code **)(puVar19 + 0x35cc0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cc0c)" ( (binary_expression "puVar19 + 0x35cc0c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;" (assignment_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1" (pointer_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" * (cast_expression "(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar13 + 0x3348) + 0x30)" ( (binary_expression "*(int *)(puVar13 + 0x3348) + 0x30" (pointer_expression "*(int *)(puVar13 + 0x3348)" * (cast_expression "(int *)(puVar13 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar13[0x340] = 0;" (assignment_expression "puVar13[0x340] = 0" (subscript_expression "puVar13[0x340]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);" (assignment_expression "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" identifier = (cast_expression "(undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(unaff_s2,puVar13,unaff_s6,piVar11)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "piVar12 = *(int **)(puVar13 + 0x3348);" (assignment_expression "piVar12 = *(int **)(puVar13 + 0x3348)" identifier = (pointer_expression "*(int **)(puVar13 + 0x3348)" * (cast_expression "(int **)(puVar13 + 0x3348)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d6fc);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d6fc)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d6fc)" * (cast_expression "(code **)(puVar19 + 0x35d6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d6fc)" ( (binary_expression "puVar19 + 0x35d6fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar2 = *piVar12;" (assignment_expression "*piVar2 = *piVar12" (pointer_expression "*piVar2" * identifier) = (pointer_expression "*piVar12" * identifier)) ;) (expression_statement "iVar1 = (*pcVar26)(piVar12);" (assignment_expression "iVar1 = (*pcVar26)(piVar12)" identifier = (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }" { (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" identifier = (call_expression "(**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf50)" * (pointer_expression "*(code **)(puVar19 + 0x35cf50)" * (cast_expression "(code **)(puVar19 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf50)" ( (binary_expression "puVar19 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(unaff_s2[0x82])" ( (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) )))) ;) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" else (if_statement "if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }" { (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35cf50))(iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" ( (pointer_expression "**(code **)(puVar19 + 0x35cf50)" * (pointer_expression "*(code **)(puVar19 + 0x35cf50)" * (cast_expression "(code **)(puVar19 + 0x35cf50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cf50)" ( (binary_expression "puVar19 + 0x35cf50" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))))) ;) }) (else_clause "else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" else (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" { (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" identifier = (cast_expression "(int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d3b0))" ( (pointer_expression "**(code **)(puVar19 + 0x35d3b0)" * (pointer_expression "*(code **)(puVar19 + 0x35d3b0)" * (cast_expression "(code **)(puVar19 + 0x35d3b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d3b0)" ( (binary_expression "puVar19 + 0x35d3b0" identifier + number_literal) ))))) )) (argument_list "(iVar1,*piVar2 + 1,1)" ( identifier , (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal) , number_literal ))))) ;) }))))) }))) }))) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" ( (pointer_expression "**(code **)(puVar19 + 0x35d578)" * (pointer_expression "*(code **)(puVar19 + 0x35d578)" * (cast_expression "(code **)(puVar19 + 0x35d578)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d578)" ( (binary_expression "puVar19 + 0x35d578" identifier + number_literal) ))))) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" identifier = identifier) ;) }))) }))) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" identifier = identifier) ;) (if_statement "if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }" if (parenthesized_expression "(dStack_108c == *pdVar23)" ( (binary_expression "dStack_108c == *pdVar23" identifier == (pointer_expression "*pdVar23" * identifier)) )) (compound_statement "{\n            return piVar12;\n          }" { (return_statement "return piVar12;" return identifier ;) })) (goto_statement "goto LAB_0004c598;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004c5c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" else (compound_statement "{\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" { (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xda0" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();" statement_identifier : (expression_statement "(**(code **)(puVar19 + 0x35cff4))();" (call_expression "(**(code **)(puVar19 + 0x35cff4))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35cff4))" ( (pointer_expression "**(code **)(puVar19 + 0x35cff4)" * (pointer_expression "*(code **)(puVar19 + 0x35cff4)" * (cast_expression "(code **)(puVar19 + 0x35cff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35cff4)" ( (binary_expression "puVar19 + 0x35cff4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" statement_identifier : (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4" identifier = (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e48" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;" statement_identifier : (expression_statement "iVar1 = iVar1 + 0x24c4;" (assignment_expression "iVar1 = iVar1 + 0x24c4" identifier = (binary_expression "iVar1 + 0x24c4" identifier + number_literal)) ;)) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1cac" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }))) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" ( (pointer_expression "**(code **)(puVar19 + 0x35d598)" * (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e64" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar1 + 0x24c4" identifier + number_literal) ))) ;) (expression_statement "unaff_s1 = piVar12;" (assignment_expression "unaff_s1 = piVar12" identifier = identifier) ;) })) (expression_statement "pdVar18 = (dword *)0x982;" (assignment_expression "pdVar18 = (dword *)0x982" identifier = (cast_expression "(dword *)0x982" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d598);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d598)" identifier = (pointer_expression "*(code **)(puVar19 + 0x35d598)" * (cast_expression "(code **)(puVar19 + 0x35d598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + 0x35d598)" ( (binary_expression "puVar19 + 0x35d598" identifier + number_literal) ))))) ;) (expression_statement "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);" (assignment_expression "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" identifier = (cast_expression "(int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0x24c4)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);" (assignment_expression "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" identifier = (cast_expression "(undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0xd78)" ( (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xd78" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);" (call_expression "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" ( identifier , (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" * (cast_expression "(int *)(puVar19 + 0x35c870)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0x35c870)" ( (binary_expression "puVar19 + 0x35c870" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }" { (labeled_statement "LAB_0004ca88:\n    puVar4 = unaff_s0;" statement_identifier : (expression_statement "puVar4 = unaff_s0;" (assignment_expression "puVar4 = unaff_s0" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004caac:\n    pdVar18 = pdVar23;" statement_identifier : (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" identifier = identifier) ;)) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2bc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35c2bc)" * (cast_expression "(int *)(pcVar26 + 0x35c2bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2bc)" ( (binary_expression "pcVar26 + 0x35c2bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" { (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;" if (parenthesized_expression "(*(int *)(puVar4 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x336c)" * (cast_expression "(int *)(puVar4 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x336c)" ( (binary_expression "puVar4 + 0x336c" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0004caac;" goto statement_identifier ;)) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" if (parenthesized_expression "(*(int *)(puVar4 + 0x3350) != 0)" ( (binary_expression "*(int *)(puVar4 + 0x3350) != 0" (pointer_expression "*(int *)(puVar4 + 0x3350)" * (cast_expression "(int *)(puVar4 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x3350)" ( (binary_expression "puVar4 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);" (call_expression "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cbb4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cbb4)" * (pointer_expression "*(code **)(pcVar26 + 0x35cbb4)" * (cast_expression "(code **)(pcVar26 + 0x35cbb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cbb4)" ( (binary_expression "pcVar26 + 0x35cbb4" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2270" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (expression_statement "unaff_s1 = *(int **)(puVar4 + 0x3348);" (assignment_expression "unaff_s1 = *(int **)(puVar4 + 0x3348)" identifier = (pointer_expression "*(int **)(puVar4 + 0x3348)" * (cast_expression "(int **)(puVar4 + 0x3348)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x3348)" ( (binary_expression "puVar4 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" if (parenthesized_expression "(unaff_s1 == (int *)0x0)" ( (binary_expression "unaff_s1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" * (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "unaff_s0 = puVar4;" (assignment_expression "unaff_s0 = puVar4" identifier = identifier) ;) (expression_statement "param_4 = piVar12;" (assignment_expression "param_4 = piVar12" identifier = identifier) ;) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" identifier = identifier) ;) (goto_statement "goto LAB_0004ca88;" goto statement_identifier ;) })) (expression_statement "uVar5 = unaff_s1[0x10];" (assignment_expression "uVar5 = unaff_s1[0x10]" identifier = (subscript_expression "unaff_s1[0x10]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" { (if_statement "if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(uVar5 < 7)" ( (binary_expression "uVar5 < 7" identifier < number_literal) )) (compound_statement "{\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }" { (if_statement "if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" { (if_statement "if (uVar5 != 1) {\n            return (int *)0x1;\n          }" if (parenthesized_expression "(uVar5 != 1)" ( (binary_expression "uVar5 != 1" identifier != number_literal) )) (compound_statement "{\n            return (int *)0x1;\n          }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" if (parenthesized_expression "(-1 < (longlong)uVar27)" ( (binary_expression "-1 < (longlong)uVar27" number_literal < (cast_expression "(longlong)uVar27" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" { (if_statement "if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(CONCAT44(pdVar18,piVar12) <= uVar27)" ( (binary_expression "CONCAT44(pdVar18,piVar12) <= uVar27" (call_expression "CONCAT44(pdVar18,piVar12)" identifier (argument_list "(pdVar18,piVar12)" ( identifier , identifier ))) <= identifier) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" * (cast_expression "(code **)(pcVar26 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cb28)" ( (binary_expression "pcVar26 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" * (cast_expression "(int *)(pcVar26 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b8)" ( (binary_expression "pcVar26 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" if (parenthesized_expression "(unaff_s1[0xd] != 0)" ( (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" { (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == -1) {\n                  return (int *)0x0;\n                }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                  return (int *)0x0;\n                }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))(iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))(iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" * (cast_expression "(code **)(pcVar26 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ca14)" ( (binary_expression "pcVar26 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) (return_statement "return (int *)(uint)(iVar1 == 1);" return (cast_expression "(int *)(uint)(iVar1 == 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(iVar1 == 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )))) ;) })) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) }) (else_clause "else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" else (compound_statement "{\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" { (if_statement "if (uVar5 != 7) {\n          return (int *)0x1;\n        }" if (parenthesized_expression "(uVar5 != 7)" ( (binary_expression "uVar5 != 7" identifier != number_literal) )) (compound_statement "{\n          return (int *)0x1;\n        }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" if (parenthesized_expression "(pdVar18 == (dword *)0x0)" ( (binary_expression "pdVar18 == (dword *)0x0" identifier == (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" { (if_statement "if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" if (parenthesized_expression "(unaff_s1[4] == 0)" ( (binary_expression "unaff_s1[4] == 0" (subscript_expression "unaff_s1[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" { (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cdf4);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cdf4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35cdf4)" * (cast_expression "(code **)(pcVar26 + 0x35cdf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cdf4)" ( (binary_expression "pcVar26 + 0x35cdf4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);" (assignment_expression "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" identifier = (call_expression "(*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" ( (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) , (cast_expression "(undefined1 *)((int)piVar12 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 1)" ( (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , number_literal )))) ;) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(unaff_s1[0x3c] != 0)" ( (binary_expression "unaff_s1[0x3c] != 0" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35d140))(unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d140))(unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d140))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d140)" * (pointer_expression "*(code **)(pcVar26 + 0x35d140)" * (cast_expression "(code **)(pcVar26 + 0x35d140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d140)" ( (binary_expression "pcVar26 + 0x35d140" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d09c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d09c)" * (pointer_expression "*(code **)(pcVar26 + 0x35d09c)" * (cast_expression "(code **)(pcVar26 + 0x35d09c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d09c)" ( (binary_expression "pcVar26 + 0x35d09c" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x3c],*unaff_s1)" ( (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) , (pointer_expression "*unaff_s1" * identifier) ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35d0e0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d0e0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d0e0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d0e0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d0e0)" * (cast_expression "(code **)(pcVar26 + 0x35d0e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d0e0)" ( (binary_expression "pcVar26 + 0x35d0e0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (if_statement "if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" if (parenthesized_expression "(-1 < lVar28)" ( (binary_expression "-1 < lVar28" number_literal < identifier) )) (compound_statement "{\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" { (if_statement "if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "((int)((ulonglong)lVar28 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)lVar28 >> 0x20) != 0" (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" ( (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }" if (parenthesized_expression "(piVar12 <= (int *)lVar28)" ( (binary_expression "piVar12 <= (int *)lVar28" identifier <= (cast_expression "(int *)lVar28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              return (int *)0x1;\n            }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier )))) ;) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" ( (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" * (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" * (cast_expression "(code **)(pcVar26 + 0x35cb28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cb28)" ( (binary_expression "pcVar26 + 0x35cb28" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" * (cast_expression "(int *)(pcVar26 + 0x35c2b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b8)" ( (binary_expression "pcVar26 + 0x35c2b8" identifier + number_literal) )))) + number_literal) , number_literal , number_literal , (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" if (parenthesized_expression "(unaff_s1[0xd] != 0)" ( (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" { (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar6 == -1) {\n                return (int *)0x0;\n              }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                return (int *)0x0;\n              }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (lVar28 < 0) {\n                return (int *)0x0;\n              }" if (parenthesized_expression "(lVar28 < 0)" ( (binary_expression "lVar28 < 0" identifier < number_literal) )) (compound_statement "{\n                return (int *)0x0;\n              }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" * (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" * (cast_expression "(code **)(pcVar26 + 0x35ca14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ca14)" ( (binary_expression "pcVar26 + 0x35ca14" identifier + number_literal) ))))) )) (argument_list "(iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" ( identifier , (binary_expression "piVar12 < (int *)((int)piVar12 - (int)lVar28)" identifier < (cast_expression "(int *)((int)piVar12 - (int)lVar28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 - (int)lVar28)" ( (binary_expression "(int)piVar12 - (int)lVar28" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" ( (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (cast_expression "(int)lVar28" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" * (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" * (cast_expression "(code **)(pcVar26 + 0x35ccfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ccfc)" ( (binary_expression "pcVar26 + 0x35ccfc" identifier + number_literal) ))))) )) (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" { (expression_statement "(**(code **)(pcVar26 + 0x35d1f0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d1f0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d1f0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d1f0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d1f0)" * (cast_expression "(code **)(pcVar26 + 0x35d1f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d1f0)" ( (binary_expression "pcVar26 + 0x35d1f0" identifier + number_literal) ))))) )) (argument_list "(5)" ( number_literal ))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" * (cast_expression "(code **)(pcVar26 + 0x35d3a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d3a0)" ( (binary_expression "pcVar26 + 0x35d3a0" identifier + number_literal) ))))) )) (argument_list "(unaff_s1[0x11])" ( (subscript_expression "unaff_s1[0x11]" identifier [ number_literal ]) )))) ;) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d160))" ( (pointer_expression "**(code **)(pcVar26 + 0x35d160)" * (pointer_expression "*(code **)(pcVar26 + 0x35d160)" * (cast_expression "(code **)(pcVar26 + 0x35d160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35d160)" ( (binary_expression "pcVar26 + 0x35d160" identifier + number_literal) ))))) )) (argument_list "(uVar3,1,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*unaff_s1 = (int)piVar12;" (assignment_expression "*unaff_s1 = (int)piVar12" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" identifier (argument_list "(puVar4)" ( identifier ))) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) })) }))) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pdVar23 = (dword *)&DAT_000013e9;" (assignment_expression "pdVar23 = (dword *)&DAT_000013e9" identifier = (cast_expression "(dword *)&DAT_000013e9" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000013e9" & identifier))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cfdc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cfdc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" * (cast_expression "(code **)(pcVar26 + 0x35cfdc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35cfdc)" ( (binary_expression "pcVar26 + 0x35cfdc" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" ( (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" * (cast_expression "(int *)(pcVar26 + 0x35c2b4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35c2b4)" ( (binary_expression "pcVar26 + 0x35c2b4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }" { (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8" identifier = (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (expression_statement "piVar2 = unaff_s1;" (assignment_expression "piVar2 = unaff_s1" identifier = identifier) ;) (labeled_statement "LAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;" statement_identifier : (expression_statement "iVar1 = iVar1 + 0x21d8;" (assignment_expression "iVar1 = iVar1 + 0x21d8" identifier = (binary_expression "iVar1 + 0x21d8" identifier + number_literal)) ;)) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar1 + 0x21d8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" ( (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" * (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdf4) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35bdf4)" * (cast_expression "(int *)(pcVar24 + 0x35bdf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdf4)" ( (binary_expression "pcVar24 + 0x35bdf4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) ))) ;)) }) (else_clause "else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" else (compound_statement "{\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" { (if_statement "if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;" if (parenthesized_expression "(piVar2[0xcdb] != -0x54535255)" ( (binary_expression "piVar2[0xcdb] != -0x54535255" (subscript_expression "piVar2[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004cf3c;" goto statement_identifier ;)) (expression_statement "puVar4 = (undefined *)piVar2[0xcd2];" (assignment_expression "puVar4 = (undefined *)piVar2[0xcd2]" identifier = (cast_expression "(undefined *)piVar2[0xcd2]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar2[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec);" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec)" identifier = (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) ))))) ;) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;" if (parenthesized_expression "(puVar4 == (undefined *)0x0)" ( (binary_expression "puVar4 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004cf1c;" goto statement_identifier ;)) (expression_statement "uVar5 = *(uint *)(puVar4 + 0x40);" (assignment_expression "uVar5 = *(uint *)(puVar4 + 0x40)" identifier = (pointer_expression "*(uint *)(puVar4 + 0x40)" * (cast_expression "(uint *)(puVar4 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 0x40)" ( (binary_expression "puVar4 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (if_statement "if (uVar5 == 0) goto LAB_0004cf00;" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004cf00;" goto statement_identifier ;)) (if_statement "if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return (int *)0x0;\n    }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "unaff_s2 = piVar11;" (assignment_expression "unaff_s2 = piVar11" identifier = identifier) ;) (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" identifier = identifier) ;) (if_statement "if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" if (parenthesized_expression "(pdVar23 != (dword *)0x0)" ( (binary_expression "pdVar23 != (dword *)0x0" identifier != (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" { (if_statement "if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" if (parenthesized_expression "(uVar5 < 9)" ( (binary_expression "uVar5 < 9" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" { (expression_statement "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();" (assignment_expression "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" identifier = (cast_expression "(int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" (parenthesized_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))" ( (pointer_expression "*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" * (parenthesized_expression "(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" ( (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc" identifier + (cast_expression "(int)&DWORD_00363dbc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DWORD_00363dbc" & identifier))) + (pointer_expression "*(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" * (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4" (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar5 * 4" identifier * number_literal)) ))))) ))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) })) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "uVar3 = 0x15f3;" (assignment_expression "uVar3 = 0x15f3" identifier = number_literal) ;) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x35cb14)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" * (cast_expression "(code **)(pcVar24 + 0x35cb14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35cb14)" ( (binary_expression "pcVar24 + 0x35cb14" identifier + number_literal) ))))) ;) (expression_statement "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);" (assignment_expression "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" ( (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1fa8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" * (cast_expression "(int *)(pcVar24 + 0x35bdec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35bdec)" ( (binary_expression "pcVar24 + 0x35bdec" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar26 = pcVar25 + 0x363930;" (assignment_expression "pcVar26 = pcVar25 + 0x363930" identifier = (binary_expression "pcVar25 + 0x363930" identifier + number_literal)) ;) (expression_statement "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);" (assignment_expression "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x35c2b0)" * (cast_expression "(int **)(pcVar25 + 0x35c2b0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35c2b0)" ( (binary_expression "pcVar25 + 0x35c2b0" identifier + number_literal) ))))) ;) (expression_statement "iStack_316c = *piStack_3224;" (assignment_expression "iStack_316c = *piStack_3224" identifier = (pointer_expression "*piStack_3224" * identifier)) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) (expression_statement "pcStack_3230 = pcVar26;" (assignment_expression "pcStack_3230 = pcVar26" identifier = identifier) ;) (expression_statement "uStack_3220 = uVar3;" (assignment_expression "uStack_3220 = uVar3" identifier = identifier) ;) (expression_statement "puStack_3168 = puVar4;" (assignment_expression "puStack_3168 = puVar4" identifier = identifier) ;) (expression_statement "piStack_3164 = piVar2;" (assignment_expression "piStack_3164 = piVar2" identifier = identifier) ;) (expression_statement "piStack_3160 = unaff_s2;" (assignment_expression "piStack_3160 = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_315c = piVar12;" (assignment_expression "piStack_315c = piVar12" identifier = identifier) ;) (expression_statement "pdStack_3158 = pdVar18;" (assignment_expression "pdStack_3158 = pdVar18" identifier = identifier) ;) (expression_statement "piStack_3154 = param_3;" (assignment_expression "piStack_3154 = param_3" identifier = identifier) ;) (expression_statement "piStack_3150 = unaff_s6;" (assignment_expression "piStack_3150 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_314c = unaff_s7;" (assignment_expression "puStack_314c = unaff_s7" identifier = identifier) ;) (if_statement "if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }" { (labeled_statement "LAB_0004d5d8:\n    piVar14 = unaff_s2;" statement_identifier : (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" identifier = identifier) ;)) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" identifier = identifier) ;) (expression_statement "pdVar23 = (dword *)0x664;" (assignment_expression "pdVar23 = (dword *)0x664" identifier = (cast_expression "(dword *)0x664" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;" (assignment_expression "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c" identifier = (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" identifier = (cast_expression "(int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;" (assignment_expression "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0" identifier = (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" * (cast_expression "(int *)(pcVar26 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fc8)" ( (binary_expression "pcVar26 + -0x7fc8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + -0x72a8))();" (call_expression "(**(code **)(pcVar26 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" { (if_statement "if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" if (parenthesized_expression "(*(int *)(puVar13 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar13 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" * (cast_expression "(int *)(puVar13 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x336c)" ( (binary_expression "puVar13 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" { (labeled_statement "LAB_0004d590:\n      piVar14 = unaff_s2;" statement_identifier : (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" identifier = identifier) ;)) (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" * (cast_expression "(int *)(pcVar26 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fc8)" ( (binary_expression "pcVar26 + -0x7fc8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1b68" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" identifier = identifier) ;) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" identifier = identifier) ;) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_0004d5d8;" goto statement_identifier ;) })) (if_statement "if (piVar14 == (int *)0x0) goto LAB_0004d5b4;" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d5b4;" goto statement_identifier ;)) (expression_statement "uVar5 = 0x667;" (assignment_expression "uVar5 = 0x667" identifier = number_literal) ;) (expression_statement "piVar12 = *(int **)(pcVar25 + 0x35b960);" (assignment_expression "piVar12 = *(int **)(pcVar25 + 0x35b960)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x35b960)" * (cast_expression "(int **)(pcVar25 + 0x35b960)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35b960)" ( (binary_expression "pcVar25 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "pdVar18 = *(dword **)(pcVar25 + 0x35b960);" (assignment_expression "pdVar18 = *(dword **)(pcVar25 + 0x35b960)" identifier = (pointer_expression "*(dword **)(pcVar25 + 0x35b960)" * (cast_expression "(dword **)(pcVar25 + 0x35b960)" ( (type_descriptor "dword **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35b960)" ( (binary_expression "pcVar25 + 0x35b960" identifier + number_literal) ))))) ;) (expression_statement "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;" (assignment_expression "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac" identifier = (binary_expression "*(int *)(pcVar25 + 0x35b964) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x35b964)" * (cast_expression "(int *)(pcVar25 + 0x35b964)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x35b964)" ( (binary_expression "pcVar25 + 0x35b964" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = piVar14;" (assignment_expression "piStack_3244 = piVar14" identifier = identifier) ;) (expression_statement "pdStack_321c = pdVar18;" (assignment_expression "pdStack_321c = pdVar18" identifier = identifier) ;) (expression_statement "piStack_3218 = piVar12;" (assignment_expression "piStack_3218 = piVar12" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);" (call_expression "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" (parenthesized_expression "(**(code **)(pcVar25 + 0x35c260))" ( (pointer_expression "**(code **)(pcVar25 + 0x35c260)" * (pointer_expression "*(code **)(pcVar25 + 0x35c260)" * (cast_expression "(code **)(pcVar25 + 0x35c260)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x35c260)" ( (binary_expression "pcVar25 + 0x35c260" identifier + number_literal) ))))) )) (argument_list "(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" ( number_literal , (binary_expression "pdVar18 + 0x6b6" identifier + number_literal) , (binary_expression "piVar12 + 0x980" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7b00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7b00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7b00)" * (cast_expression "(code **)(pcStack_3230 + -0x7b00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7b00)" ( (binary_expression "pcStack_3230 + -0x7b00" identifier + number_literal) ))))) )) (argument_list "(4,2,piVar14)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar5 = 0x66c;" (assignment_expression "uVar5 = 0x66c" identifier = number_literal) ;) (expression_statement "*puVar8 = 1;" (assignment_expression "*puVar8 = 1" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piVar12 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piVar12 + 0x980)" identifier = (cast_expression "(dword *)(piVar12 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 0x980)" ( (binary_expression "piVar12 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdVar18 + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdVar18 + 0x6b6)" identifier = (cast_expression "(int *)(pdVar18 + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar18 + 0x6b6)" ( (binary_expression "pdVar18 + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 499;" (assignment_expression "iStack_3248 = 499" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" else (compound_statement "{\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" { (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6ee4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6ee4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6ee4)" * (cast_expression "(code **)(pcStack_3230 + -0x6ee4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6ee4)" ( (binary_expression "pcStack_3230 + -0x6ee4" identifier + number_literal) ))))) )) (argument_list "(**(undefined4 **)(pcStack_3230 + -0x78ec))" ( (pointer_expression "**(undefined4 **)(pcStack_3230 + -0x78ec)" * (pointer_expression "*(undefined4 **)(pcStack_3230 + -0x78ec)" * (cast_expression "(undefined4 **)(pcStack_3230 + -0x78ec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78ec)" ( (binary_expression "pcStack_3230 + -0x78ec" identifier + number_literal) ))))) ))))) ;) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x77a0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x77a0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x77a0)" * (cast_expression "(code **)(pcStack_3230 + -0x77a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x77a0)" ( (binary_expression "pcStack_3230 + -0x77a0" identifier + number_literal) ))))) )) (argument_list "(piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" ( identifier , (binary_expression "*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac" (pointer_expression "*(int *)(pcStack_3230 + -0x7fc4)" * (cast_expression "(int *)(pcStack_3230 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fc4)" ( (binary_expression "pcStack_3230 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (if_statement "if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;" if (parenthesized_expression "(piVar12 == (int *)0xffffffff)" ( (binary_expression "piVar12 == (int *)0xffffffff" identifier == (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d3d0;" goto statement_identifier ;)) (labeled_statement "LAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" statement_identifier : (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7a08))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7a08)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7a08)" * (cast_expression "(code **)(pcStack_3230 + -0x7a08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7a08)" ( (binary_expression "pcStack_3230 + -0x7a08" identifier + number_literal) ))))) )) (argument_list "(3,piVar12,auStack_3210)" ( number_literal , identifier , identifier )))) ;)) (if_statement "if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" if (parenthesized_expression "(((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)))" ( (binary_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" (parenthesized_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))" ( (binary_expression "(iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) || (parenthesized_expression "((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" ( (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8" (call_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" ( (binary_expression "(undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4" (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_31d4 + -1)" ( (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) < identifier) ))) + identifier) + number_literal) != number_literal) ))) )) || (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" ( (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) , (comma_expression "pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pdVar18 = pdStack_31d4" identifier = identifier) , (binary_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (cast_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_SYMTAB[0x16e].st_value + 2)" ( (binary_expression "(int)&__DT_SYMTAB[0x16e].st_value + 2" (cast_expression "(int)&__DT_SYMTAB[0x16e].st_value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_SYMTAB[0x16e].st_value" & (field_expression "__DT_SYMTAB[0x16e].st_value" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pdStack_31d4 + -1)" ( (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ))) )) (compound_statement "{\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x73a4);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" * (cast_expression "(code **)(pcStack_3230 + -0x73a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x73a4)" ( (binary_expression "pcStack_3230 + -0x73a4" identifier + number_literal) ))))) ;) (expression_statement "pdVar18 = &__DT_SYMTAB[0x16e].st_size;" (assignment_expression "pdVar18 = &__DT_SYMTAB[0x16e].st_size" identifier = (pointer_expression "&__DT_SYMTAB[0x16e].st_size" & (field_expression "__DT_SYMTAB[0x16e].st_size" (subscript_expression "__DT_SYMTAB[0x16e]" identifier [ number_literal ]) . field_identifier))) ;) })) (expression_statement "piVar2 = (int *)(*pcVar26)(pdVar18,1);" (assignment_expression "piVar2 = (int *)(*pcVar26)(pdVar18,1)" identifier = (cast_expression "(int *)(*pcVar26)(pdVar18,1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)(pdVar18,1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(pdVar18,1)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" if (parenthesized_expression "(piVar2 != (int *)0x0)" ( (binary_expression "piVar2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" { (expression_statement "param_3 = (int *)&DAT_00000007;" (assignment_expression "param_3 = (int *)&DAT_00000007" identifier = (cast_expression "(int *)&DAT_00000007" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (labeled_statement "LAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" statement_identifier : (do_statement "do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" do (compound_statement "{\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          }" { (expression_statement "piVar16 = piVar2;" (assignment_expression "piVar16 = piVar2" identifier = identifier) ;) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" identifier = identifier) ;) (expression_statement "unaff_s8 = (*pcVar26)(piVar12);" (assignment_expression "unaff_s8 = (*pcVar26)(piVar12)" identifier = (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(piVar12)" ( identifier )))) ;) (if_statement "if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" if (parenthesized_expression "((int)unaff_s8 < 1)" ( (binary_expression "(int)unaff_s8 < 1" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" { (expression_statement "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" if (parenthesized_expression "(*piVar11 == 4)" ( (binary_expression "*piVar11 == 4" (pointer_expression "*piVar11" * identifier) == number_literal) )) (compound_statement "{\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d114;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" statement_identifier : (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier )))) ;)) (if_statement "if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x696;" (assignment_expression "uVar5 = 0x696" identifier = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) })) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x78f0))(piVar2);" (call_expression "(**(code **)(pcStack_3230 + -0x78f0))(piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x78f0))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x78f0)" * (pointer_expression "*(code **)(pcStack_3230 + -0x78f0)" * (cast_expression "(code **)(pcStack_3230 + -0x78f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x78f0)" ( (binary_expression "pcStack_3230 + -0x78f0" identifier + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier ))) ;) (goto_statement "goto LAB_0004d2c8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004d114:\n            pcVar26 = pcStack_3230;" statement_identifier : (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" identifier = identifier) ;)) (expression_statement "unaff_s7 = *(uint **)(puVar13 + 0x3348);" (assignment_expression "unaff_s7 = *(uint **)(puVar13 + 0x3348)" identifier = (pointer_expression "*(uint **)(puVar13 + 0x3348)" * (cast_expression "(uint **)(puVar13 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3348)" ( (binary_expression "puVar13 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "pdVar23 = pdStack_321c;" (assignment_expression "pdVar23 = pdStack_321c" identifier = identifier) ;) (if_statement "if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" if (parenthesized_expression "(unaff_s7 == (uint *)0x0)" ( (binary_expression "unaff_s7 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" { (labeled_statement "LAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" ( (pointer_expression "**(code **)(pcVar26 + -0x72a8)" * (pointer_expression "*(code **)(pcVar26 + -0x72a8)" * (cast_expression "(code **)(pcVar26 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x72a8)" ( (binary_expression "pcVar26 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pdVar23 + 0x6b6" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" * (cast_expression "(int *)(pcVar26 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + -0x7fd0)" ( (binary_expression "pcVar26 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" identifier = identifier) ;) (goto_statement "goto LAB_0004d590;" goto statement_identifier ;) })) (if_statement "if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" if (parenthesized_expression "(unaff_s7[0x10] == 0)" ( (binary_expression "unaff_s7[0x10] == 0" (subscript_expression "unaff_s7[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" { (expression_statement "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);" (assignment_expression "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" identifier = (cast_expression "(dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x72a8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x72a8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x72a8)" * (cast_expression "(code **)(pcStack_3230 + -0x72a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72a8)" ( (binary_expression "pcStack_3230 + -0x72a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) , (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0004d570;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f)" identifier = (cast_expression "(int *)((int)unaff_s8 >> 0x1f)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s8 >> 0x1f)" ( (binary_expression "(int)unaff_s8 >> 0x1f" (cast_expression "(int)unaff_s8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" if (parenthesized_expression "(unaff_s7[0x10] != 7)" ( (binary_expression "unaff_s7[0x10] != 7" (subscript_expression "unaff_s7[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" { (expression_statement "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);" (assignment_expression "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" identifier = (call_expression "(**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f1c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f1c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f1c)" * (cast_expression "(code **)(pcStack_3230 + -0x6f1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f1c)" ( (binary_expression "pcStack_3230 + -0x6f1c" identifier + number_literal) ))))) )) (argument_list "(puVar13,unaff_s8,piVar2)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) ;)) (if_statement "if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" if (parenthesized_expression "(unaff_s8 != uVar7)" ( (binary_expression "unaff_s8 != uVar7" identifier != identifier) )) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" { (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x690;" (assignment_expression "uVar5 = 0x690" identifier = number_literal) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" identifier = (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (goto_statement "goto LAB_0004d29c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0004d0d4;" goto statement_identifier ;) })) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" identifier = (subscript_expression "unaff_s7[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = unaff_s7[1];" (assignment_expression "uVar5 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (if_statement "if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" if (parenthesized_expression "(((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8))" ( (binary_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" (parenthesized_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0)" ( (binary_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0" (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" ( (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar7 + unaff_s8 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + unaff_s8 < uVar7)" ( (binary_expression "uVar7 + unaff_s8 < uVar7" (binary_expression "uVar7 + unaff_s8" identifier + identifier) < identifier) )))) + (subscript_expression "unaff_s7[8]" identifier [ number_literal ])) ))) != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" ( (comma_expression "uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8" (assignment_expression "uVar15 = unaff_s8" identifier = identifier) , (binary_expression "uVar5 <= uVar7 + unaff_s8" identifier <= (binary_expression "uVar7 + unaff_s8" identifier + identifier))) ))) )) (compound_statement "{\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" { (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x74b0);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x74b0)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x74b0)" * (cast_expression "(code **)(pcStack_3230 + -0x74b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74b0)" ( (binary_expression "pcStack_3230 + -0x74b0" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = uVar5 + unaff_s7[2] + unaff_s8;" (assignment_expression "uVar5 = uVar5 + unaff_s7[2] + unaff_s8" identifier = (binary_expression "uVar5 + unaff_s7[2] + unaff_s8" (binary_expression "uVar5 + unaff_s7[2]" identifier + (subscript_expression "unaff_s7[2]" identifier [ number_literal ])) + identifier)) ;) (expression_statement "unaff_s7[2] = unaff_s7[2] << 1;" (assignment_expression "unaff_s7[2] = unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" identifier [ number_literal ]) = (binary_expression "unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" identifier [ number_literal ]) << number_literal)) ;) (expression_statement "uStack_3214 = unaff_s8;" (assignment_expression "uStack_3214 = unaff_s8" identifier = identifier) ;) (expression_statement "iVar1 = (*pcVar26)(puVar13,unaff_s8,0);" (assignment_expression "iVar1 = (*pcVar26)(puVar13,unaff_s8,0)" identifier = (call_expression "(*pcVar26)(puVar13,unaff_s8,0)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(puVar13,unaff_s8,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004d214;" goto statement_identifier ;) })) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" identifier = (subscript_expression "unaff_s7[9]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = uStack_3214;" (assignment_expression "uVar15 = uStack_3214" identifier = identifier) ;) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);" (call_expression "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7558))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7558)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7558)" * (cast_expression "(code **)(pcStack_3230 + -0x7558)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7558)" ( (binary_expression "pcStack_3230 + -0x7558" identifier + number_literal) ))))) )) (argument_list "(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" ( (binary_expression "unaff_s7[0x3c] + uVar7" (subscript_expression "unaff_s7[0x3c]" identifier [ number_literal ]) + identifier) , identifier , identifier ))) ;) (expression_statement "uVar7 = unaff_s8 + unaff_s7[9];" (assignment_expression "uVar7 = unaff_s8 + unaff_s7[9]" identifier = (binary_expression "unaff_s8 + unaff_s7[9]" identifier + (subscript_expression "unaff_s7[9]" identifier [ number_literal ]))) ;) (expression_statement "unaff_s7[9] = uVar7;" (assignment_expression "unaff_s7[9] = uVar7" (subscript_expression "unaff_s7[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);" (assignment_expression "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" identifier = (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" ( (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(uVar7 < unaff_s8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < unaff_s8)" ( (binary_expression "uVar7 < unaff_s8" identifier < identifier) )))) + (subscript_expression "unaff_s7[8]" identifier [ number_literal ])) )))) ;) (expression_statement "unaff_s7[8] = (uint)puVar21;" (assignment_expression "unaff_s7[8] = (uint)puVar21" (subscript_expression "unaff_s7[8]" identifier [ number_literal ]) = (cast_expression "(uint)puVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((int)puVar21 < 0) goto LAB_0004d0d0;" if (parenthesized_expression "((int)puVar21 < 0)" ( (binary_expression "(int)puVar21 < 0" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;)) (if_statement "if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;" if (parenthesized_expression "((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))" ( (binary_expression "(puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" ( (binary_expression "puVar21 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" ( (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" * (cast_expression "(code **)(pcStack_3230 + -0x72fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x72fc)" ( (binary_expression "pcStack_3230 + -0x72fc" identifier + number_literal) ))))) , (binary_expression "*unaff_s7 <= uVar7" (pointer_expression "*unaff_s7" * identifier) <= identifier)) ))) )) (goto_statement "goto LAB_0004d1b4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "(**(code **)(pcStack_3230 + -0x7754))(piVar12);" (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" * (cast_expression "(code **)(pcStack_3230 + -0x7754)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7754)" ( (binary_expression "pcStack_3230 + -0x7754" identifier + number_literal) ))))) )) (argument_list "(piVar12)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" * (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x680;" (assignment_expression "uVar5 = 0x680" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 400;" (assignment_expression "iStack_3248 = 400" identifier = number_literal) ;) }) (else_clause "else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" else (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" { (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" identifier = (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7aa8))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x7aa8)" * (pointer_expression "*(code **)(pcStack_3230 + -0x7aa8)" * (cast_expression "(code **)(pcStack_3230 + -0x7aa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7aa8)" ( (binary_expression "pcStack_3230 + -0x7aa8" identifier + number_literal) ))))) )) (argument_list "(piVar14,0,0)" ( identifier , number_literal , number_literal ))))) ;) (if_statement "if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;" if (parenthesized_expression "(piVar12 != (int *)0xffffffff)" ( (binary_expression "piVar12 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004d08c;" goto statement_identifier ;)) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" * (cast_expression "(code **)(pcStack_3230 + -0x6f00)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x6f00)" ( (binary_expression "pcStack_3230 + -0x6f00" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();" statement_identifier : (expression_statement "puVar8 = (undefined4 *)(*pcVar26)();" (assignment_expression "puVar8 = (undefined4 *)(*pcVar26)()" identifier = (cast_expression "(undefined4 *)(*pcVar26)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" identifier = (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" * (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" * (cast_expression "(code **)(pcStack_3230 + -0x74c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x74c4)" ( (binary_expression "pcStack_3230 + -0x74c4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) ))))) ;) (expression_statement "uVar5 = 0x675;" (assignment_expression "uVar5 = 0x675" identifier = number_literal) ;) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" identifier = (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) ))))) ;) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" identifier = (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" * (cast_expression "(code **)(pcStack_3230 + -0x7990)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x7990)" ( (binary_expression "pcStack_3230 + -0x7990" identifier + number_literal) ))))) ;) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" identifier = (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" ( (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" * (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_3230 + -0x7fd0)" ( (binary_expression "pcStack_3230 + -0x7fd0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" identifier = number_literal) ;) }))) (expression_statement "iStack_3240 = iStack_3240 + 0xe78;" (assignment_expression "iStack_3240 = iStack_3240 + 0xe78" identifier = (binary_expression "iStack_3240 + 0xe78" identifier + number_literal)) ;) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" identifier = (cast_expression "(dword *)(piStack_3218 + 0x980)" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_3218 + 0x980)" ( (binary_expression "piStack_3218 + 0x980" identifier + number_literal) )))) ;) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" identifier = (cast_expression "(int *)(pdStack_321c + 0x6b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdStack_321c + 0x6b6)" ( (binary_expression "pdStack_321c + 0x6b6" identifier + number_literal) )))) ;) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" identifier = identifier) ;) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" identifier = identifier) ;) (expression_statement "(*pcVar26)(uStack_3220);" (call_expression "(*pcVar26)(uStack_3220)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(uStack_3220)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" ( (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" * (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" * (cast_expression "(code **)(pcStack_3230 + -0x783c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_3230 + -0x783c)" ( (binary_expression "pcStack_3230 + -0x783c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) }))) (labeled_statement "LAB_0004d2c8:\n    iVar1 = iStack_316c;" statement_identifier : (expression_statement "iVar1 = iStack_316c;" (assignment_expression "iVar1 = iStack_316c" identifier = identifier) ;)) (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" identifier = identifier) ;) (if_statement "if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }" if (parenthesized_expression "(iStack_316c == *piStack_3224)" ( (binary_expression "iStack_316c == *piStack_3224" identifier == (pointer_expression "*piStack_3224" * identifier)) )) (compound_statement "{\n      return piVar11;\n    }" { (return_statement "return piVar11;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + -0x784c)" identifier = (pointer_expression "*(code **)(pcVar26 + -0x784c)" * (cast_expression "(code **)(pcVar26 + -0x784c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + -0x784c)" ( (binary_expression "pcVar26 + -0x784c" identifier + number_literal) ))))) ;) (expression_statement "pcVar24 = InjectImageBlob;" (assignment_expression "pcVar24 = InjectImageBlob" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = iStack_3248;" (assignment_expression "iVar6 = iStack_3248" identifier = identifier) ;) (expression_statement "piVar2 = *(int **)(pcVar26 + 0x35bc28);" (assignment_expression "piVar2 = *(int **)(pcVar26 + 0x35bc28)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x35bc28)" * (cast_expression "(int **)(pcVar26 + 0x35bc28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bc28)" ( (binary_expression "pcVar26 + 0x35bc28" identifier + number_literal) ))))) ;) (expression_statement "iStack_3284 = *piVar2;" (assignment_expression "iStack_3284 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "puStack_3280 = puVar13;" (assignment_expression "puStack_3280 = puVar13" identifier = identifier) ;) (expression_statement "piStack_327c = piVar11;" (assignment_expression "piStack_327c = piVar11" identifier = identifier) ;) (expression_statement "piStack_3278 = piVar14;" (assignment_expression "piStack_3278 = piVar14" identifier = identifier) ;) (expression_statement "piStack_3274 = piVar12;" (assignment_expression "piStack_3274 = piVar12" identifier = identifier) ;) (expression_statement "pdStack_3270 = pdVar18;" (assignment_expression "pdStack_3270 = pdVar18" identifier = identifier) ;) (expression_statement "piStack_326c = param_3;" (assignment_expression "piStack_326c = param_3" identifier = identifier) ;) (expression_statement "piStack_3268 = unaff_s6;" (assignment_expression "piStack_3268 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_3264 = unaff_s7;" (assignment_expression "puStack_3264 = unaff_s7" identifier = identifier) ;) (expression_statement "uStack_3260 = unaff_s8;" (assignment_expression "uStack_3260 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_325c = pcVar24;" (assignment_expression "pcStack_325c = pcVar24" identifier = identifier) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }" { (labeled_statement "LAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" statement_identifier : (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1c88" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar17 = (undefined1)iVar6;" (assignment_expression "uVar17 = (undefined1)iVar6" identifier = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }) (else_clause "else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" { (if_statement "if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x3214)" * (cast_expression "(int *)(iVar1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3214)" ( (binary_expression "iVar1 + 0x3214" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" { (labeled_statement "LAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xda0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddfc;" goto statement_identifier ;) })) (if_statement "if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" if (parenthesized_expression "(piVar16 == (int *)0x0)" ( (binary_expression "piVar16 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" { (labeled_statement "LAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddd8;" goto statement_identifier ;) })) (if_statement "if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" if (parenthesized_expression "(piVar16[0xcdb] != -0x54535255)" ( (binary_expression "piVar16[0xcdb] != -0x54535255" (subscript_expression "piVar16[0xcdb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" { (labeled_statement "LAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" statement_identifier : (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2e0) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35b2e0)" * (cast_expression "(int *)(pcVar26 + 0x35b2e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2e0)" ( (binary_expression "pcVar26 + 0x35b2e0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar20 + 0x2474" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004ddb4;" goto statement_identifier ;) })) (if_statement "if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" if (parenthesized_expression "(piVar16[0xcd4] != 0)" ( (binary_expression "piVar16[0xcd4] != 0" (subscript_expression "piVar16[0xcd4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);" (call_expression "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bbd8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bbd8)" * (pointer_expression "*(code **)(pcVar26 + 0x35bbd8)" * (cast_expression "(code **)(pcVar26 + 0x35bbd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bbd8)" ( (binary_expression "pcVar26 + 0x35bbd8" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" ( number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) })) (if_statement "if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;" if (parenthesized_expression "(pdVar23 == (dword *)0x0)" ( (binary_expression "pdVar23 == (dword *)0x0" identifier == (cast_expression "(dword *)0x0" ( (type_descriptor "dword *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd90;" goto statement_identifier ;)) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;" if (parenthesized_expression "(pdVar23[0xcdb] != -0x54535255)" ( (binary_expression "pdVar23[0xcdb] != -0x54535255" (subscript_expression "pdVar23[0xcdb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0004dd70;" goto statement_identifier ;)) (if_statement "if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" { (labeled_statement "LAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1cac" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar20 + 0x2474" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004dd4c;" goto statement_identifier ;) })) (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b83c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b83c)" * (pointer_expression "*(code **)(pcVar26 + 0x35b83c)" * (cast_expression "(code **)(pcVar26 + 0x35b83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b83c)" ( (binary_expression "pcVar26 + 0x35b83c" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier )))) ;) (if_statement "if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" if (parenthesized_expression "((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0))" ( (binary_expression "(iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" ( (comma_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c1d0)" * (pointer_expression "*(code **)(pcVar26 + 0x35c1d0)" * (cast_expression "(code **)(pcVar26 + 0x35c1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c1d0)" ( (binary_expression "pcVar26 + 0x35c1d0" identifier + number_literal) ))))) )) (argument_list "(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xe98" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar20 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);" (call_expression "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c234))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c234)" * (pointer_expression "*(code **)(pcVar26 + 0x35c234)" * (cast_expression "(code **)(pcVar26 + 0x35c234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c234)" ( (binary_expression "pcVar26 + 0x35c234" identifier + number_literal) ))))) )) (argument_list "(piVar16 + 0xd0,auStack_4284,0x1000)" ( (binary_expression "piVar16 + 0xd0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);" (call_expression "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" else (compound_statement "{\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c228))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c228)" * (pointer_expression "*(code **)(pcVar26 + 0x35c228)" * (cast_expression "(code **)(pcVar26 + 0x35c228)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c228)" ( (binary_expression "pcVar26 + 0x35c228" identifier + number_literal) ))))) )) (argument_list "(pdVar23,0,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (if_statement "if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" * (cast_expression "(code **)(pcVar26 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd94)" ( (binary_expression "pcVar26 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar20)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" { (expression_statement "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b774))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b774)" * (pointer_expression "*(code **)(pcVar26 + 0x35b774)" * (cast_expression "(code **)(pcVar26 + 0x35b774)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b774)" ( (binary_expression "pcVar26 + 0x35b774" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" ( (binary_expression "iVar9 + 0x340" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1d10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba08))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35ba08))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba08))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba08)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba08)" * (cast_expression "(code **)(pcVar26 + 0x35ba08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba08)" ( (binary_expression "pcVar26 + 0x35ba08" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c1d8))(0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c1d8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c1d8)" * (cast_expression "(code **)(pcVar26 + 0x35c1d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c1d8)" ( (binary_expression "pcVar26 + 0x35c1d8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bb94);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bb94)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35bb94)" * (cast_expression "(code **)(pcVar26 + 0x35bb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb94)" ( (binary_expression "pcVar26 + 0x35bb94" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x3348) = uVar3;" (assignment_expression "*(undefined4 *)(iVar9 + 0x3348) = uVar3" (pointer_expression "*(undefined4 *)(iVar9 + 0x3348)" * (cast_expression "(undefined4 *)(iVar9 + 0x3348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3348)" ( (binary_expression "iVar9 + 0x3348" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar3 = (*pcVar24)(iVar1);" (assignment_expression "uVar3 = (*pcVar24)(iVar1)" identifier = (call_expression "(*pcVar24)(iVar1)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bec8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bec8)" * (pointer_expression "*(code **)(pcVar26 + 0x35bec8)" * (cast_expression "(code **)(pcVar26 + 0x35bec8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bec8)" ( (binary_expression "pcVar26 + 0x35bec8" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar20)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = iVar9;" (assignment_expression "iVar1 = iVar9" identifier = identifier) ;) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b96c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b96c)" * (pointer_expression "*(code **)(pcVar26 + 0x35b96c)" * (cast_expression "(code **)(pcVar26 + 0x35b96c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b96c)" ( (binary_expression "pcVar26 + 0x35b96c" identifier + number_literal) ))))) )) (argument_list "(uVar3,iVar9,iVar6)" ( identifier , identifier , identifier ))))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bfe0))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35bfe0))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfe0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bfe0)" * (pointer_expression "*(code **)(pcVar26 + 0x35bfe0)" * (cast_expression "(code **)(pcVar26 + 0x35bfe0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bfe0)" ( (binary_expression "pcVar26 + 0x35bfe0" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b944))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b944))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b944))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b944)" * (pointer_expression "*(code **)(pcVar26 + 0x35b944)" * (cast_expression "(code **)(pcVar26 + 0x35b944)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b944)" ( (binary_expression "pcVar26 + 0x35b944" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" * (cast_expression "(code **)(pcVar26 + 0x35bd94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd94)" ( (binary_expression "pcVar26 + 0x35bd94" identifier + number_literal) ))))) )) (argument_list "(iVar20)" ( identifier ))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }" { (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) }) (else_clause "else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" else (compound_statement "{\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b800))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b800)" * (pointer_expression "*(code **)(pcVar26 + 0x35b800)" * (cast_expression "(code **)(pcVar26 + 0x35b800)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b800)" ( (binary_expression "pcVar26 + 0x35b800" identifier + number_literal) ))))) )) (argument_list "(auStack_4284,0,0)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }" { (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) }) (else_clause "else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" else (compound_statement "{\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" { (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b8a0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b8a0)" * (pointer_expression "*(code **)(pcVar26 + 0x35b8a0)" * (cast_expression "(code **)(pcVar26 + 0x35b8a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b8a0)" ( (binary_expression "pcVar26 + 0x35b8a0" identifier + number_literal) ))))) )) (argument_list "(3,iVar1,auStack_4328)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }" if (parenthesized_expression "(((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff))" ( (binary_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)" (parenthesized_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))" ( (binary_expression "(iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" ( (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0" (call_expression "(uint)(uStack_42ec - 1 < uStack_42ec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_42ec - 1 < uStack_42ec)" ( (binary_expression "uStack_42ec - 1 < uStack_42ec" (binary_expression "uStack_42ec - 1" identifier - number_literal) < identifier) ))) + identifier) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(uStack_42ec - 1 < 0x13fff)" ( (binary_expression "uStack_42ec - 1 < 0x13fff" (binary_expression "uStack_42ec - 1" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n              uStack_4330 = uStack_42ec;\n            }" { (expression_statement "uStack_4330 = uStack_42ec;" (assignment_expression "uStack_4330 = uStack_42ec" identifier = identifier) ;) }) (else_clause "else {\n              uStack_4330 = 0x14000;\n            }" else (compound_statement "{\n              uStack_4330 = 0x14000;\n            }" { (expression_statement "uStack_4330 = 0x14000;" (assignment_expression "uStack_4330 = 0x14000" identifier = number_literal) ;) }))) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bf04))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bf04)" * (pointer_expression "*(code **)(pcVar26 + 0x35bf04)" * (cast_expression "(code **)(pcVar26 + 0x35bf04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bf04)" ( (binary_expression "pcVar26 + 0x35bf04" identifier + number_literal) ))))) )) (argument_list "(uStack_4330,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" { (while_statement "while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" { (expression_statement "iVar20 = iVar9;" (assignment_expression "iVar20 = iVar9" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);" (assignment_expression "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfac))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bfac)" * (pointer_expression "*(code **)(pcVar26 + 0x35bfac)" * (cast_expression "(code **)(pcVar26 + 0x35bfac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bfac)" ( (binary_expression "pcVar26 + 0x35bfac" identifier + number_literal) ))))) )) (argument_list "(iVar1,iVar9,uStack_4330)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = (undefined1)iVar20;" (assignment_expression "uVar17 = (undefined1)iVar20" identifier = (cast_expression "(undefined1)iVar20" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" if (parenthesized_expression "((int)uVar5 < 1)" ( (binary_expression "(int)uVar5 < 1" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" { (expression_statement "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35c3a8))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" * (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" * (cast_expression "(code **)(pcVar26 + 0x35c3a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c3a8)" ( (binary_expression "pcVar26 + 0x35c3a8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" if (parenthesized_expression "(*piVar11 != 4)" ( (binary_expression "*piVar11 != 4" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" * (cast_expression "(code **)(pcVar26 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb54)" ( (binary_expression "pcVar26 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" if (parenthesized_expression "(iVar1 == -1)" ( (binary_expression "iVar1 == -1" identifier == number_literal) )) (compound_statement "{\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" { (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*piVar11)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" * (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" * (cast_expression "(code **)(pcVar26 + 0x35bde4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bde4)" ( (binary_expression "pcVar26 + 0x35bde4" identifier + number_literal) ))))) )) (argument_list "(*piVar11)" ( (pointer_expression "*piVar11" * identifier) )))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" * (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" * (cast_expression "(code **)(pcVar26 + 0x35ba6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba6c)" ( (binary_expression "pcVar26 + 0x35ba6c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b9b8))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b9b8))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b9b8))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b9b8)" * (pointer_expression "*(code **)(pcVar26 + 0x35b9b8)" * (cast_expression "(code **)(pcVar26 + 0x35b9b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b9b8)" ( (binary_expression "pcVar26 + 0x35b9b8" identifier + number_literal) ))))) )) (argument_list "(iVar9)" ( identifier ))) ;) (goto_statement "goto LAB_0004d764;" goto statement_identifier ;) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) })) (expression_statement "puVar22 = (uint *)piVar16[0xcd2];" (assignment_expression "puVar22 = (uint *)piVar16[0xcd2]" identifier = (cast_expression "(uint *)piVar16[0xcd2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar16[0xcd2]" identifier [ number_literal ]))) ;) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004dd0c;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] == 0) break;" if (parenthesized_expression "(puVar22[0x10] == 0)" ( (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" if (parenthesized_expression "(puVar22[0x10] == 7)" ( (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }" { (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (if_statement "if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" if (parenthesized_expression "(((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1]))" ( (binary_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])" (parenthesized_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0)" ( (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f)" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar7 + uVar5 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 + uVar5 < uVar7)" ( (binary_expression "uVar7 + uVar5 < uVar7" (binary_expression "uVar7 + uVar5" identifier + identifier) < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) + (parenthesized_expression "((int)uVar5 >> 0x1f)" ( (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "(uVar7 + uVar5 < puVar22[1])" ( (binary_expression "uVar7 + uVar5 < puVar22[1]" (binary_expression "uVar7 + uVar5" identifier + identifier) < (subscript_expression "puVar22[1]" identifier [ number_literal ])) ))) )) (compound_statement "{\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }" { (labeled_statement "LAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd50))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bd50)" * (pointer_expression "*(code **)(pcVar26 + 0x35bd50)" * (cast_expression "(code **)(pcVar26 + 0x35bd50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bd50)" ( (binary_expression "pcVar26 + 0x35bd50" identifier + number_literal) ))))) )) (argument_list "(puVar22[0x3c] + uVar7,iVar9,uVar5)" ( (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" identifier [ number_literal ]) + identifier) , identifier , identifier ))) ;)) (expression_statement "uVar7 = uVar5 + puVar22[9];" (assignment_expression "uVar7 = uVar5 + puVar22[9]" identifier = (binary_expression "uVar5 + puVar22[9]" identifier + (subscript_expression "puVar22[9]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f)" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (parenthesized_expression "((int)uVar5 >> 0x1f)" ( (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" if (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" ( (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" ( (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" ( (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" identifier == number_literal) && (parenthesized_expression "(uVar7 < *puVar22)" ( (binary_expression "uVar7 < *puVar22" identifier < (pointer_expression "*puVar22" * identifier)) ))) )) ))) )) (compound_statement "{\n                      piVar12 = (int *)0x1;\n                    }" { (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" else (compound_statement "{\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" else (compound_statement "{\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" { (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bdf8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bdf8)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35bdf8)" * (cast_expression "(code **)(pcVar26 + 0x35bdf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bdf8)" ( (binary_expression "pcVar26 + 0x35bdf8" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);" (assignment_expression "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" identifier = (call_expression "(*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar7 + uVar5" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + identifier) )))) ;) (if_statement "if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" { (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0004da64;" goto statement_identifier ;) })) (expression_statement "piVar12 = (int *)(uint)(uVar5 == 0);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == 0)" identifier = (cast_expression "(int *)(uint)(uVar5 == 0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar5 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) ))))) ;) }))) }) (else_clause "else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" else (compound_statement "{\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" { (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" identifier = (call_expression "(**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c38c))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c38c)" * (pointer_expression "*(code **)(pcVar26 + 0x35c38c)" * (cast_expression "(code **)(pcVar26 + 0x35c38c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c38c)" ( (binary_expression "pcVar26 + 0x35c38c" identifier + number_literal) ))))) )) (argument_list "(piVar16,uVar5,iVar9)" ( identifier , identifier , identifier )))) ;) (expression_statement "piVar12 = (int *)(uint)(uVar5 == uVar7);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == uVar7)" identifier = (cast_expression "(int *)(uint)(uVar5 == uVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar5 == uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 == uVar7)" ( (binary_expression "uVar5 == uVar7" identifier == identifier) ))))) ;) }))) })) (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" identifier = (binary_expression "iVar20 + 0x25f0" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;" statement_identifier : (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" identifier = (binary_expression "iVar20 + 0x25f0" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" ( (pointer_expression "**(code **)(pcVar26 + 0x35c000)" * (pointer_expression "*(code **)(pcVar26 + 0x35c000)" * (cast_expression "(code **)(pcVar26 + 0x35c000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35c000)" ( (binary_expression "pcVar26 + 0x35c000" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" ( (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004dd2c;" goto statement_identifier ;) })) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b994)" * (pointer_expression "*(code **)(pcVar26 + 0x35b994)" * (cast_expression "(code **)(pcVar26 + 0x35b994)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b994)" ( (binary_expression "pcVar26 + 0x35b994" identifier + number_literal) ))))) )) (argument_list "(auStack_4284)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x35bb54))(iVar1);" (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" * (cast_expression "(code **)(pcVar26 + 0x35bb54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb54)" ( (binary_expression "pcVar26 + 0x35bb54" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b918)" * (pointer_expression "*(code **)(pcVar26 + 0x35b918)" * (cast_expression "(code **)(pcVar26 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b918)" ( (binary_expression "pcVar26 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" ( identifier , identifier , (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" * (cast_expression "(int *)(pcVar26 + 0x35b2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35b2d8)" ( (binary_expression "pcVar26 + 0x35b2d8" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" identifier = (cast_expression "(undefined1)iVar1" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) }))) }))) }))) }))) (labeled_statement "LAB_0004d764:\n    iVar1 = iStack_3284;" statement_identifier : (expression_statement "iVar1 = iStack_3284;" (assignment_expression "iVar1 = iStack_3284" identifier = identifier) ;)) (if_statement "if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }" if (parenthesized_expression "(iStack_3284 == *piVar2)" ( (binary_expression "iStack_3284 == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n      return piVar12;\n    }" { (return_statement "return piVar12;" return identifier ;) })) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35ba5c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35ba5c)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35ba5c)" * (cast_expression "(code **)(pcVar26 + 0x35ba5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ba5c)" ( (binary_expression "pcVar26 + 0x35ba5c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }" { (labeled_statement "LAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" statement_identifier : (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" ( (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" { (if_statement "if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x336c)" * (cast_expression "(int *)(iVar1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x336c)" ( (binary_expression "iVar1 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" { (labeled_statement "LAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" ( (binary_expression "*(int *)(pcVar26 + 0x35aabc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35aabc)" * (cast_expression "(int *)(pcVar26 + 0x35aabc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aabc)" ( (binary_expression "pcVar26 + 0x35aabc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_0004e038;" goto statement_identifier ;) })) (expression_statement "puVar22 = *(uint **)(iVar1 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar1 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar1 + 0x3348)" * (cast_expression "(uint **)(iVar1 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x3348)" ( (binary_expression "iVar1 + 0x3348" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4);" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) ))))) ;) (if_statement "if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" * (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" ( (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x21c8" identifier + number_literal) ))) ;) (goto_statement "goto LAB_0004e014;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[0x10];" (assignment_expression "uVar5 = puVar22[0x10]" identifier = (subscript_expression "puVar22[0x10]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" if (parenthesized_expression "(uVar5 != 0)" ( (binary_expression "uVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" { (if_statement "if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" if (parenthesized_expression "(uVar5 - 1 < 3)" ( (binary_expression "uVar5 - 1 < 3" (binary_expression "uVar5 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" { (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35afcc))" ( (pointer_expression "**(code **)(pcVar26 + 0x35afcc)" * (pointer_expression "*(code **)(pcVar26 + 0x35afcc)" * (cast_expression "(code **)(pcVar26 + 0x35afcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35afcc)" ( (binary_expression "pcVar26 + 0x35afcc" identifier + number_literal) ))))) )) (argument_list "(uVar17,puVar22[0x11])" ( identifier , (subscript_expression "puVar22[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar1 != -1) {\n          return (int *)0x1;\n        }" if (parenthesized_expression "(iVar1 != -1)" ( (binary_expression "iVar1 != -1" identifier != number_literal) )) (compound_statement "{\n          return (int *)0x1;\n        }" { (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" identifier = (call_expression "(**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35aef0))" ( (pointer_expression "**(code **)(pcVar26 + 0x35aef0)" * (pointer_expression "*(code **)(pcVar26 + 0x35aef0)" * (cast_expression "(code **)(pcVar26 + 0x35aef0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35aef0)" ( (binary_expression "pcVar26 + 0x35aef0" identifier + number_literal) ))))) )) (argument_list "(puVar22[0x11])" ( (subscript_expression "puVar22[0x11]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar1 == 0) {\n          return (int *)0x0;\n        }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          return (int *)0x0;\n        }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" if (parenthesized_expression "(puVar22[0xe] == 0)" ( (binary_expression "puVar22[0xe] == 0" (subscript_expression "puVar22[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" { (expression_statement "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))()" identifier = (cast_expression "(uint *)(**(code **)(pcVar26 + 0x35bb84))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35bb84))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb84))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb84)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb84)" * (cast_expression "(code **)(pcVar26 + 0x35bb84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb84)" ( (binary_expression "pcVar26 + 0x35bb84" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }" if (parenthesized_expression "(*puVar10 != 0)" ( (binary_expression "*puVar10 != 0" (pointer_expression "*puVar10" * identifier) != number_literal) )) (compound_statement "{\n            puVar22[7] = *puVar10;\n          }" { (expression_statement "puVar22[7] = *puVar10;" (assignment_expression "puVar22[7] = *puVar10" (subscript_expression "puVar22[7]" identifier [ number_literal ]) = (pointer_expression "*puVar10" * identifier)) ;) })) })) (expression_statement "puVar22[0xe] = 1;" (assignment_expression "puVar22[0xe] = 1" (subscript_expression "puVar22[0xe]" identifier [ number_literal ]) = number_literal) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" if (parenthesized_expression "(uVar5 != 7)" ( (binary_expression "uVar5 != 7" identifier != number_literal) )) (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" { (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35bb68))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35bb68))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb68))" ( (pointer_expression "**(code **)(pcVar26 + 0x35bb68)" * (pointer_expression "*(code **)(pcVar26 + 0x35bb68)" * (cast_expression "(code **)(pcVar26 + 0x35bb68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35bb68)" ( (binary_expression "pcVar26 + 0x35bb68" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) })) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }" if (parenthesized_expression "((uint)(uVar5 < uVar7) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8] == 0" (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar5 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 < uVar7)" ( (binary_expression "uVar5 < uVar7" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }" { (if_statement "if (uVar5 < puVar22[1]) goto LAB_0004dee0;" if (parenthesized_expression "(uVar5 < puVar22[1])" ( (binary_expression "uVar5 < puVar22[1]" identifier < (subscript_expression "puVar22[1]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0004dee0;" goto statement_identifier ;)) (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        uVar7 = puVar22[2];\n      }" else (compound_statement "{\n        uVar7 = puVar22[2];\n      }" { (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35b5d4);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35b5d4)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35b5d4)" * (cast_expression "(code **)(pcVar26 + 0x35b5d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b5d4)" ( (binary_expression "pcVar26 + 0x35b5d4" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (expression_statement "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);" (assignment_expression "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" identifier = (call_expression "(*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar7 + 1" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n        return (int *)0x0;\n      }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        return (int *)0x0;\n      }" { (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" statement_identifier : (expression_statement "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" (assignment_expression "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17" (pointer_expression "*(undefined1 *)(puVar22[0x3c] + uVar7)" * (cast_expression "(undefined1 *)(puVar22[0x3c] + uVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22[0x3c] + uVar7)" ( (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" identifier [ number_literal ]) + identifier) )))) = identifier) ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 1;" (assignment_expression "uVar7 = uVar5 + 1" identifier = (binary_expression "uVar5 + 1" identifier + number_literal)) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" if (parenthesized_expression "((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7))))" ( (binary_expression "(-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))" (parenthesized_expression "(-1 < (int)uVar5)" ( (binary_expression "-1 < (int)uVar5" number_literal < (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((uVar5 != 0 || (*puVar22 <= uVar7)))" ( (parenthesized_expression "(uVar5 != 0 || (*puVar22 <= uVar7))" ( (binary_expression "uVar5 != 0 || (*puVar22 <= uVar7)" (binary_expression "uVar5 != 0" identifier != number_literal) || (parenthesized_expression "(*puVar22 <= uVar7)" ( (binary_expression "*puVar22 <= uVar7" (pointer_expression "*puVar22" * identifier) <= identifier) ))) )) ))) )) (compound_statement "{\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (return_statement "return (int *)0x1;" return (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35b7dc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35b7dc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" * (cast_expression "(code **)(pcVar26 + 0x35b7dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35b7dc)" ( (binary_expression "pcVar26 + 0x35b7dc" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10" identifier = (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" * (cast_expression "(int *)(pcVar26 + 0x35aab4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x35aab4)" ( (binary_expression "pcVar26 + 0x35aab4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);" (call_expression "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" ( identifier , identifier , number_literal , (binary_expression "iVar6 + 0x21c8" identifier + number_literal) ))) ;) (expression_statement "piVar12 = *(int **)(pcVar24 + 0x35b1b4);" (assignment_expression "piVar12 = *(int **)(pcVar24 + 0x35b1b4)" identifier = (pointer_expression "*(int **)(pcVar24 + 0x35b1b4)" * (cast_expression "(int **)(pcVar24 + 0x35b1b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b1b4)" ( (binary_expression "pcVar24 + 0x35b1b4" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" identifier = (pointer_expression "*piVar12" * identifier)) ;) (if_statement "if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" { (if_statement "if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" if (parenthesized_expression "(*(int *)(iVar20 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar20 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar20 + 0x336c)" * (cast_expression "(int *)(iVar20 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x336c)" ( (binary_expression "iVar20 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" { (expression_statement "puVar22 = *(uint **)(iVar20 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar20 + 0x3348)" identifier = (pointer_expression "*(uint **)(iVar20 + 0x3348)" * (cast_expression "(uint **)(iVar20 + 0x3348)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 0x3348)" ( (binary_expression "iVar20 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" if (parenthesized_expression "(*(int *)(iVar20 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar20 + 0x25c) == 1" (pointer_expression "*(int *)(iVar20 + 0x25c)" * (cast_expression "(int *)(iVar20 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x25c)" ( (binary_expression "iVar20 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" { (expression_statement "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));" (assignment_expression "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" identifier = (call_expression "CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" identifier (argument_list "(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" ( (call_expression "CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" identifier (argument_list "(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" ( (call_expression "CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8))" identifier (argument_list "((char)iVar1,(char)((uint)iVar1 >> 8))" ( (cast_expression "(char)iVar1" ( (type_descriptor "char" primitive_type) ) identifier) , (cast_expression "(char)((uint)iVar1 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 8)" ( (binary_expression "(uint)iVar1 >> 8" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar1 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 0x10)" ( (binary_expression "(uint)iVar1 >> 0x10" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) ))) , (cast_expression "(char)((uint)iVar1 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar1 >> 0x18)" ( (binary_expression "(uint)iVar1 >> 0x18" (cast_expression "(uint)iVar1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) )))) ;) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;" if (parenthesized_expression "(puVar22 == (uint *)0x0)" ( (binary_expression "puVar22 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004e2cc;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] == 0) goto LAB_0004e2a8;" if (parenthesized_expression "(puVar22[0x10] == 0)" ( (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0004e2a8;" goto statement_identifier ;)) (if_statement "if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar22[0x10] != 7)" ( (binary_expression "puVar22[0x10] != 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" identifier = (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b918)" * (pointer_expression "*(code **)(pcVar24 + 0x35b918)" * (cast_expression "(code **)(pcVar24 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b918)" ( (binary_expression "pcVar24 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (if_statement "if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" if (parenthesized_expression "(((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0))" ( (binary_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) && (parenthesized_expression "(uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" ( (comma_expression "uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0" (assignment_expression "uVar7 = (uint)(uVar7 < puVar22[1])" identifier = (call_expression "(uint)(uVar7 < puVar22[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < puVar22[1])" ( (binary_expression "uVar7 < puVar22[1]" identifier < (subscript_expression "puVar22[1]" identifier [ number_literal ])) )))) , (binary_expression "uVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          uVar7 = puVar22[0x3c];\n        }" { (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) }) (else_clause "else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" else (compound_statement "{\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35b384)" * (cast_expression "(code **)(pcVar24 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b384)" ( (binary_expression "pcVar24 + 0x35b384" identifier + number_literal) ))))) ;) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar5 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" identifier = (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar20 == 0) goto LAB_0004e2a0;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004e2a0;" goto statement_identifier ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) }))) (labeled_statement "LAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;" statement_identifier : (expression_statement "*(int *)(uVar7 + uVar5) = iVar1;" (assignment_expression "*(int *)(uVar7 + uVar5) = iVar1" (pointer_expression "*(int *)(uVar7 + uVar5)" * (cast_expression "(int *)(uVar7 + uVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + uVar5)" ( (binary_expression "uVar7 + uVar5" identifier + identifier) )))) = identifier) ;)) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" identifier = (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ]))) ;) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" if (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" ( (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" ( (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" ( (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" ( (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" identifier == number_literal) && (parenthesized_expression "(uVar7 < *puVar22)" ( (binary_expression "uVar7 < *puVar22" identifier < (pointer_expression "*puVar22" * identifier)) ))) )) ))) )) (compound_statement "{\n          piVar2 = (int *)&DAT_00000004;\n        }" { (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) }) (else_clause "else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" else (compound_statement "{\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" { (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" * identifier) = identifier) ;) (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" identifier = (cast_expression "(int *)&DAT_00000004" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) }))) (labeled_statement "LAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }" statement_identifier : (if_statement "if (iVar6 == *piVar12) {\n          return piVar2;\n        }" if (parenthesized_expression "(iVar6 == *piVar12)" ( (binary_expression "iVar6 == *piVar12" identifier == (pointer_expression "*piVar12" * identifier)) )) (compound_statement "{\n          return piVar2;\n        }" { (return_statement "return piVar2;" return identifier ;) }))) (goto_statement "goto LAB_0004e338;" goto statement_identifier ;) })) (if_statement "if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" if (parenthesized_expression "(puVar22 != (uint *)0x0)" ( (binary_expression "puVar22 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" { (if_statement "if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" if (parenthesized_expression "(puVar22[0x10] != 0)" ( (binary_expression "puVar22[0x10] != 0" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" { (if_statement "if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" if (parenthesized_expression "(puVar22[0x10] == 7)" ( (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" { (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" identifier = (binary_expression "uVar5 + 4" identifier + number_literal)) ;) (if_statement "if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" if (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" ( (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < uVar5)" ( (binary_expression "uVar7 < uVar5" identifier < identifier) ))) + (subscript_expression "puVar22[8]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }" { (if_statement "if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" if (parenthesized_expression "(puVar22[1] <= uVar7)" ( (binary_expression "puVar22[1] <= uVar7" (subscript_expression "puVar22[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0004e128;" goto statement_identifier ;) })) }) (else_clause "else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" else (compound_statement "{\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" { (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" identifier = (subscript_expression "puVar22[2]" identifier [ number_literal ])) ;) (labeled_statement "LAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35b384)" * (cast_expression "(code **)(pcVar24 + 0x35b384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b384)" ( (binary_expression "pcVar24 + 0x35b384" identifier + number_literal) ))))) ;)) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" identifier [ number_literal ]) = (binary_expression "uVar5 << 1" identifier << number_literal)) ;) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" identifier = (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" ( identifier , identifier , number_literal , (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" identifier [ number_literal ]) + identifier) + number_literal) )))) ;) (if_statement "if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" { (labeled_statement "LAB_0004e2a0:\n                piVar2 = (int *)0x0;" statement_identifier : (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" identifier = (subscript_expression "puVar22[9]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" identifier = (subscript_expression "puVar22[0x3c]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0004e15c;" goto statement_identifier ;) })) (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" identifier = (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b918)" * (pointer_expression "*(code **)(pcVar24 + 0x35b918)" * (cast_expression "(code **)(pcVar24 + 0x35b918)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b918)" ( (binary_expression "pcVar24 + 0x35b918" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (goto_statement "goto LAB_0004e1b8;" goto statement_identifier ;) })) (labeled_statement "LAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (labeled_statement "LAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" statement_identifier : (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;)) })) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar24 + 0x35a86c) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35a86c)" * (cast_expression "(int *)(pcVar24 + 0x35a86c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a86c)" ( (binary_expression "pcVar24 + 0x35a86c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" ( (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" * (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" * (cast_expression "(code **)(pcVar24 + 0x35b58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35b58c)" ( (binary_expression "pcVar24 + 0x35b58c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" ( (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" * (cast_expression "(int *)(pcVar24 + 0x35a864)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar24 + 0x35a864)" ( (binary_expression "pcVar24 + 0x35a864" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);" statement_identifier : (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35afe8);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35afe8)" identifier = (pointer_expression "*(code **)(pcVar24 + 0x35afe8)" * (cast_expression "(code **)(pcVar24 + 0x35afe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x35afe8)" ( (binary_expression "pcVar24 + 0x35afe8" identifier + number_literal) ))))) ;)) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar26 + 0x35ac94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar26 + 0x35ac94))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ac94))" ( (pointer_expression "**(code **)(pcVar26 + 0x35ac94)" * (pointer_expression "*(code **)(pcVar26 + 0x35ac94)" * (cast_expression "(code **)(pcVar26 + 0x35ac94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x35ac94)" ( (binary_expression "pcVar26 + 0x35ac94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (return_statement "return piVar12;" return identifier ;) (labeled_statement "LAB_0004d1b4:\n  *unaff_s7 = uVar7;" statement_identifier : (expression_statement "*unaff_s7 = uVar7;" (assignment_expression "*unaff_s7 = uVar7" (pointer_expression "*unaff_s7" * identifier) = identifier) ;)) (goto_statement "goto LAB_0004d0d0;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * 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 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 IDENT + LIT) )))) ;) (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 ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 == (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) ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (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 (pointer_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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (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) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (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 = IDENT) ;) (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 ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) }) (else_clause else (compound_statement { (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * IDENT) + LIT) , LIT ))))) ;) }))))) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 != (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 = IDENT) ;) (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)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (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 , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (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 IDENT + LIT) , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (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 (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (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 ))) ;) (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 , IDENT , IDENT , IDENT ))))) ;) }) (else_clause else (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 IDENT + LIT) , 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 )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 ( 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 ))) ;) (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 { (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 (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) , 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 , IDENT , 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 ( (subscript_expression IDENT [ 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 (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 , LIT , 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 ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 (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) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 ))) ;) (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 * (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) )))) = 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 ( IDENT , IDENT , 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 (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 ))))) ;) }) (else_clause else (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 ( IDENT , (binary_expression (pointer_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 (assignment_expression IDENT = IDENT) ;) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (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) ))) ;) (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 ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = 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 ( 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 { (labeled_statement statement_identifier : (expression_statement (assignment_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 (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 (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_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 (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) )) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) <= IDENT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (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 ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 ( 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 ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 ( 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 ( (subscript_expression IDENT [ LIT ]) , (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 ( 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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (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 ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (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 ( IDENT , (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 ))) ;) (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 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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) })) })) }))) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (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 { (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (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 IDENT + 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) ))) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (parenthesized_expression ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (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 = (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 = (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 (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 ( ))) ;) }) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_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 (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 ( LIT , (binary_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 ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (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 ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (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 ( LIT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) < IDENT) ))) + 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) ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (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 ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression 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 ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 ))) ;) })) (expression_statement (assignment_expression IDENT = (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 ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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 = IDENT) ;) (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 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 = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (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 ( IDENT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (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 ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_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 ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )))) + (subscript_expression IDENT [ LIT ])) ))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= (binary_expression IDENT + IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) << LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_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 (subscript_expression IDENT [ LIT ]) + IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) + (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * IDENT) <= IDENT)) ))) )) (goto_statement goto statement_identifier ;)) }) 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 ( 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 ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (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 * (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 = LIT) ;) }) (else_clause else (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 ( IDENT , LIT , 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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))))) ;) (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 * (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 = 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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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) )) (compound_statement { (labeled_statement statement_identifier : (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (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 { (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (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) ))) ;)) (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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression 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 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 ( 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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , 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 ( ))))) ;) (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 = (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 , IDENT , (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) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (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 ( IDENT ))) ;) }) (else_clause else (compound_statement { (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 , LIT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( 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 ))) ;) }) (else_clause else (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 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 (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 )))) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (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 , IDENT ))) ;) (expression_statement (assignment_expression 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 , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 == (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 ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( 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 ( ))))) ;) (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 = (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 , IDENT , (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) ) 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 ))) ;) }) (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 ( LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - LIT) < IDENT) ))) + IDENT) + LIT) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (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 , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (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 ( IDENT , IDENT , (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) ) 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 ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) + (subscript_expression IDENT [ LIT ])) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < (subscript_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 (subscript_expression IDENT [ LIT ]) + IDENT) , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == IDENT) ))))) ;) }))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (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 ( 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 = (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 , IDENT , (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) ) IDENT)) ;) }))) }))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (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 { (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 { (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) ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression 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 ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (return_statement return (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 = (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 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 = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) ))) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) ))) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 (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 ( ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (subscript_expression IDENT [ LIT ])) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (goto_statement goto statement_identifier ;) })) (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 (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (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 ( ))))) ;) (goto_statement goto statement_identifier ;) })) (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) ))) ;)) })) (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 (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 (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 ( ))) ;) (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 ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "int * ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" (primitive_type "int") (pointer_declarator "* ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" (* "*") (function_declarator "ImageToBlob(int *param_1,int *param_2,int *param_3,int *param_4)" (identifier "ImageToBlob") (parameter_list "(int *param_1,int *param_2,int *param_3,int *param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined *puVar4;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  uint *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined *puVar13;\n  int *piVar14;\n  uint uVar15;\n  int *piVar16;\n  undefined1 uVar17;\n  dword *pdVar18;\n  undefined *puVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined *unaff_s0;\n  uint *puVar22;\n  int *unaff_s1;\n  int *unaff_s2;\n  int *unaff_s3;\n  dword *pdVar23;\n  int *unaff_s5;\n  int *unaff_s6;\n  uint *unaff_s7;\n  code *pcVar24;\n  code *pcVar25;\n  uint unaff_s8;\n  code *pcVar26;\n  ulonglong uVar27;\n  longlong lVar28;\n  uint uStack_4330;\n  undefined1 auStack_4328 [56];\n  int iStack_42f0;\n  uint uStack_42ec;\n  undefined1 auStack_4284 [4096];\n  int iStack_3284;\n  undefined *puStack_3280;\n  int *piStack_327c;\n  int *piStack_3278;\n  int *piStack_3274;\n  dword *pdStack_3270;\n  int *piStack_326c;\n  int *piStack_3268;\n  uint *puStack_3264;\n  uint uStack_3260;\n  code *pcStack_325c;\n  int iStack_3248;\n  int *piStack_3244;\n  int iStack_3240;\n  int *piStack_323c;\n  undefined *puStack_3238;\n  code *pcStack_3230;\n  int *piStack_3224;\n  undefined4 uStack_3220;\n  dword *pdStack_321c;\n  int *piStack_3218;\n  uint uStack_3214;\n  undefined1 auStack_3210 [56];\n  int iStack_31d8;\n  dword *pdStack_31d4;\n  int iStack_316c;\n  undefined *puStack_3168;\n  int *piStack_3164;\n  int *piStack_3160;\n  int *piStack_315c;\n  dword *pdStack_3158;\n  int *piStack_3154;\n  int *piStack_3150;\n  uint *puStack_314c;\n  undefined1 auStack_308c [4096];\n  int aiStack_208c [1024];\n  dword dStack_108c;\n  undefined *puStack_1084;\n  int *piStack_1080;\n  int *piStack_107c;\n  int *piStack_1078;\n  undefined *puStack_1074;\n  int *piStack_1070;\n  int *piStack_106c;\n  uint *puStack_1068;\n  code *pcStack_1064;\n  uint *local_1050;\n  int *local_104c;\n  undefined *local_1048;\n  int *local_1044;\n  int *local_1040;\n  uint auStack_102c [1024];\n  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }\n  piVar2 = (int *)&DAT_000007f9;\n  piVar11 = (int *)(puVar19 + 0x2520);\n  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;\n  pcVar26 = ImagesToBlob;\n  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);\n  puVar19 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  puStack_1074 = puVar4;\n  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);\n  dStack_108c = *pdVar23;\n  puStack_1084 = unaff_s0;\n  piStack_1080 = unaff_s1;\n  piStack_107c = unaff_s2;\n  piStack_1078 = param_4;\n  piStack_1070 = param_3;\n  piStack_106c = unaff_s6;\n  puStack_1068 = unaff_s7;\n  pcStack_1064 = pcVar26;\n  if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }\n  pdVar18 = (dword *)0x982;\n  pcVar26 = *(code **)(puVar19 + 0x35d598);\n  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);\n  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);\n  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);\n  if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }\n  pdVar23 = (dword *)&DAT_000013e9;\n  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);\n  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);\n  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);\n  (*pcVar24)();\n  if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }\n  uVar3 = 0x15f3;\n  pcVar25 = *(code **)(pcVar24 + 0x35cb14);\n  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);\n  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);\n  (*pcVar25)();\n  pcVar26 = pcVar25 + 0x363930;\n  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);\n  iStack_316c = *piStack_3224;\n  piVar11 = piVar2;\n  pcStack_3230 = pcVar26;\n  uStack_3220 = uVar3;\n  puStack_3168 = puVar4;\n  piStack_3164 = piVar2;\n  piStack_3160 = unaff_s2;\n  piStack_315c = piVar12;\n  pdStack_3158 = pdVar18;\n  piStack_3154 = param_3;\n  piStack_3150 = unaff_s6;\n  puStack_314c = unaff_s7;\n  if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + -0x784c);\n  pcVar24 = InjectImageBlob;\n  (*pcVar26)();\n  iVar6 = iStack_3248;\n  piVar2 = *(int **)(pcVar26 + 0x35bc28);\n  iStack_3284 = *piVar2;\n  puStack_3280 = puVar13;\n  piStack_327c = piVar11;\n  piStack_3278 = piVar14;\n  piStack_3274 = piVar12;\n  pdStack_3270 = pdVar18;\n  piStack_326c = param_3;\n  piStack_3268 = unaff_s6;\n  puStack_3264 = unaff_s7;\n  uStack_3260 = unaff_s8;\n  pcStack_325c = pcVar24;\n  if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);\n  (*pcVar26)();\n  if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }\n  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);\n  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;\n  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;\n  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);\n  piVar12 = *(int **)(pcVar24 + 0x35b1b4);\n  iVar6 = *piVar12;\n  if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }\n  (**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);\nLAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);\n  (*pcVar26)();\n  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();\n  return piVar12;\nLAB_0004d1b4:\n  *unaff_s7 = uVar7;\n  goto LAB_0004d0d0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "undefined1 uVar17;" (type_identifier "undefined1") (identifier "uVar17") (; ";")) (declaration "dword *pdVar18;" (type_identifier "dword") (pointer_declarator "*pdVar18" (* "*") (identifier "pdVar18")) (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined *unaff_s0;" (type_identifier "undefined") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "uint *puVar22;" (type_identifier "uint") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "int *unaff_s1;" (primitive_type "int") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int *unaff_s2;" (primitive_type "int") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "int *unaff_s3;" (primitive_type "int") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "dword *pdVar23;" (type_identifier "dword") (pointer_declarator "*pdVar23" (* "*") (identifier "pdVar23")) (; ";")) (declaration "int *unaff_s5;" (primitive_type "int") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "int *unaff_s6;" (primitive_type "int") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "uint *unaff_s7;" (type_identifier "uint") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "uint unaff_s8;" (type_identifier "uint") (identifier "unaff_s8") (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "ulonglong uVar27;" (type_identifier "ulonglong") (identifier "uVar27") (; ";")) (declaration "longlong lVar28;" (type_identifier "longlong") (identifier "lVar28") (; ";")) (declaration "uint uStack_4330;" (type_identifier "uint") (identifier "uStack_4330") (; ";")) (declaration "undefined1 auStack_4328 [56];" (type_identifier "undefined1") (array_declarator "auStack_4328 [56]" (identifier "auStack_4328") ([ "[") (number_literal "56") (] "]")) (; ";")) (declaration "int iStack_42f0;" (primitive_type "int") (identifier "iStack_42f0") (; ";")) (declaration "uint uStack_42ec;" (type_identifier "uint") (identifier "uStack_42ec") (; ";")) (declaration "undefined1 auStack_4284 [4096];" (type_identifier "undefined1") (array_declarator "auStack_4284 [4096]" (identifier "auStack_4284") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int iStack_3284;" (primitive_type "int") (identifier "iStack_3284") (; ";")) (declaration "undefined *puStack_3280;" (type_identifier "undefined") (pointer_declarator "*puStack_3280" (* "*") (identifier "puStack_3280")) (; ";")) (declaration "int *piStack_327c;" (primitive_type "int") (pointer_declarator "*piStack_327c" (* "*") (identifier "piStack_327c")) (; ";")) (declaration "int *piStack_3278;" (primitive_type "int") (pointer_declarator "*piStack_3278" (* "*") (identifier "piStack_3278")) (; ";")) (declaration "int *piStack_3274;" (primitive_type "int") (pointer_declarator "*piStack_3274" (* "*") (identifier "piStack_3274")) (; ";")) (declaration "dword *pdStack_3270;" (type_identifier "dword") (pointer_declarator "*pdStack_3270" (* "*") (identifier "pdStack_3270")) (; ";")) (declaration "int *piStack_326c;" (primitive_type "int") (pointer_declarator "*piStack_326c" (* "*") (identifier "piStack_326c")) (; ";")) (declaration "int *piStack_3268;" (primitive_type "int") (pointer_declarator "*piStack_3268" (* "*") (identifier "piStack_3268")) (; ";")) (declaration "uint *puStack_3264;" (type_identifier "uint") (pointer_declarator "*puStack_3264" (* "*") (identifier "puStack_3264")) (; ";")) (declaration "uint uStack_3260;" (type_identifier "uint") (identifier "uStack_3260") (; ";")) (declaration "code *pcStack_325c;" (type_identifier "code") (pointer_declarator "*pcStack_325c" (* "*") (identifier "pcStack_325c")) (; ";")) (declaration "int iStack_3248;" (primitive_type "int") (identifier "iStack_3248") (; ";")) (declaration "int *piStack_3244;" (primitive_type "int") (pointer_declarator "*piStack_3244" (* "*") (identifier "piStack_3244")) (; ";")) (declaration "int iStack_3240;" (primitive_type "int") (identifier "iStack_3240") (; ";")) (declaration "int *piStack_323c;" (primitive_type "int") (pointer_declarator "*piStack_323c" (* "*") (identifier "piStack_323c")) (; ";")) (declaration "undefined *puStack_3238;" (type_identifier "undefined") (pointer_declarator "*puStack_3238" (* "*") (identifier "puStack_3238")) (; ";")) (declaration "code *pcStack_3230;" (type_identifier "code") (pointer_declarator "*pcStack_3230" (* "*") (identifier "pcStack_3230")) (; ";")) (declaration "int *piStack_3224;" (primitive_type "int") (pointer_declarator "*piStack_3224" (* "*") (identifier "piStack_3224")) (; ";")) (declaration "undefined4 uStack_3220;" (type_identifier "undefined4") (identifier "uStack_3220") (; ";")) (declaration "dword *pdStack_321c;" (type_identifier "dword") (pointer_declarator "*pdStack_321c" (* "*") (identifier "pdStack_321c")) (; ";")) (declaration "int *piStack_3218;" (primitive_type "int") (pointer_declarator "*piStack_3218" (* "*") (identifier "piStack_3218")) (; ";")) (declaration "uint uStack_3214;" (type_identifier "uint") (identifier "uStack_3214") (; ";")) (declaration "undefined1 auStack_3210 [56];" (type_identifier "undefined1") (array_declarator "auStack_3210 [56]" (identifier "auStack_3210") ([ "[") (number_literal "56") (] "]")) (; ";")) (declaration "int iStack_31d8;" (primitive_type "int") (identifier "iStack_31d8") (; ";")) (declaration "dword *pdStack_31d4;" (type_identifier "dword") (pointer_declarator "*pdStack_31d4" (* "*") (identifier "pdStack_31d4")) (; ";")) (declaration "int iStack_316c;" (primitive_type "int") (identifier "iStack_316c") (; ";")) (declaration "undefined *puStack_3168;" (type_identifier "undefined") (pointer_declarator "*puStack_3168" (* "*") (identifier "puStack_3168")) (; ";")) (declaration "int *piStack_3164;" (primitive_type "int") (pointer_declarator "*piStack_3164" (* "*") (identifier "piStack_3164")) (; ";")) (declaration "int *piStack_3160;" (primitive_type "int") (pointer_declarator "*piStack_3160" (* "*") (identifier "piStack_3160")) (; ";")) (declaration "int *piStack_315c;" (primitive_type "int") (pointer_declarator "*piStack_315c" (* "*") (identifier "piStack_315c")) (; ";")) (declaration "dword *pdStack_3158;" (type_identifier "dword") (pointer_declarator "*pdStack_3158" (* "*") (identifier "pdStack_3158")) (; ";")) (declaration "int *piStack_3154;" (primitive_type "int") (pointer_declarator "*piStack_3154" (* "*") (identifier "piStack_3154")) (; ";")) (declaration "int *piStack_3150;" (primitive_type "int") (pointer_declarator "*piStack_3150" (* "*") (identifier "piStack_3150")) (; ";")) (declaration "uint *puStack_314c;" (type_identifier "uint") (pointer_declarator "*puStack_314c" (* "*") (identifier "puStack_314c")) (; ";")) (declaration "undefined1 auStack_308c [4096];" (type_identifier "undefined1") (array_declarator "auStack_308c [4096]" (identifier "auStack_308c") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int aiStack_208c [1024];" (primitive_type "int") (array_declarator "aiStack_208c [1024]" (identifier "aiStack_208c") ([ "[") (number_literal "1024") (] "]")) (; ";")) (declaration "dword dStack_108c;" (type_identifier "dword") (identifier "dStack_108c") (; ";")) (declaration "undefined *puStack_1084;" (type_identifier "undefined") (pointer_declarator "*puStack_1084" (* "*") (identifier "puStack_1084")) (; ";")) (declaration "int *piStack_1080;" (primitive_type "int") (pointer_declarator "*piStack_1080" (* "*") (identifier "piStack_1080")) (; ";")) (declaration "int *piStack_107c;" (primitive_type "int") (pointer_declarator "*piStack_107c" (* "*") (identifier "piStack_107c")) (; ";")) (declaration "int *piStack_1078;" (primitive_type "int") (pointer_declarator "*piStack_1078" (* "*") (identifier "piStack_1078")) (; ";")) (declaration "undefined *puStack_1074;" (type_identifier "undefined") (pointer_declarator "*puStack_1074" (* "*") (identifier "puStack_1074")) (; ";")) (declaration "int *piStack_1070;" (primitive_type "int") (pointer_declarator "*piStack_1070" (* "*") (identifier "piStack_1070")) (; ";")) (declaration "int *piStack_106c;" (primitive_type "int") (pointer_declarator "*piStack_106c" (* "*") (identifier "piStack_106c")) (; ";")) (declaration "uint *puStack_1068;" (type_identifier "uint") (pointer_declarator "*puStack_1068" (* "*") (identifier "puStack_1068")) (; ";")) (declaration "code *pcStack_1064;" (type_identifier "code") (pointer_declarator "*pcStack_1064" (* "*") (identifier "pcStack_1064")) (; ";")) (declaration "uint *local_1050;" (type_identifier "uint") (pointer_declarator "*local_1050" (* "*") (identifier "local_1050")) (; ";")) (declaration "int *local_104c;" (primitive_type "int") (pointer_declarator "*local_104c" (* "*") (identifier "local_104c")) (; ";")) (declaration "undefined *local_1048;" (type_identifier "undefined") (pointer_declarator "*local_1048" (* "*") (identifier "local_1048")) (; ";")) (declaration "int *local_1044;" (primitive_type "int") (pointer_declarator "*local_1044" (* "*") (identifier "local_1044")) (; ";")) (declaration "int *local_1040;" (primitive_type "int") (pointer_declarator "*local_1040" (* "*") (identifier "local_1040")) (; ";")) (declaration "uint auStack_102c [1024];" (type_identifier "uint") (array_declarator "auStack_102c [1024]" (identifier "auStack_102c") ([ "[") (number_literal "1024") (] "]")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar4 = PTR___stack_chk_guard_003a9230" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }\n  else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004c02c:\n    param_3 = unaff_s5;\n    param_4 = unaff_s3;\n    puVar19 = PTR_LAB_003a88e0 + 0x2520;\n    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);\n  }" ({ "{") (labeled_statement "LAB_0004c02c:\n    param_3 = unaff_s5;" (statement_identifier "LAB_0004c02c") (: ":") (expression_statement "param_3 = unaff_s5;" (assignment_expression "param_3 = unaff_s5" (identifier "param_3") (= "=") (identifier "unaff_s5")) (; ";"))) (expression_statement "param_4 = unaff_s3;" (assignment_expression "param_4 = unaff_s3" (identifier "param_4") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "puVar19 = PTR_LAB_003a88e0 + 0x2520;" (assignment_expression "puVar19 = PTR_LAB_003a88e0 + 0x2520" (identifier "puVar19") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x2520" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2520"))) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);" (call_expression "(*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xd78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x7f2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }\n    if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }\n    puVar13 = PTR_CloneImageInfo_003a919c;\n    piVar12 = (int *)PTR_LAB_003a88e0;\n    unaff_s1 = param_2;\n    unaff_s3 = param_4;\n    unaff_s5 = param_3;\n    if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }\n    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;\n    puVar19 = PTR_LAB_003a88e0;\n    unaff_s2 = param_1;\n    if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }\n  }" ({ "{") (if_statement "if (param_1[0xc85] != -0x54535255) {\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" (if "if") (parenthesized_expression "(param_1[0xc85] != -0x54535255)" (( "(") (binary_expression "param_1[0xc85] != -0x54535255" (subscript_expression "param_1[0xc85]" (identifier "param_1") ([ "[") (number_literal "0xc85") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\nLAB_0004bfdc:\n      param_2 = unaff_s1;\n      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);\nLAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);\n      unaff_s1 = param_2;\n      unaff_s2 = param_1;\n      goto LAB_0004c02c;\n    }" ({ "{") (labeled_statement "LAB_0004bfdc:\n      param_2 = unaff_s1;" (statement_identifier "LAB_0004bfdc") (: ":") (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" (identifier "param_2") (= "=") (identifier "unaff_s1")) (; ";"))) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520)" (identifier "piVar12") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x2520)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x2520)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x2520" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2520")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xda0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x7f3") (, ",") (identifier "piVar12") () ")"))) (; ";")) (labeled_statement "LAB_0004c000:\n      (*(code *)PTR___stack_chk_fail_003a9064)();" (statement_identifier "LAB_0004c000") (: ":") (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_0004c00c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" (statement_identifier "LAB_0004c00c") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8\n                 ,0x7f8,piVar12 + 0x948)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x7f8") (, ",") (binary_expression "piVar12 + 0x948" (identifier "piVar12") (+ "+") (number_literal "0x948")) () ")"))) (; ";"))) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" (identifier "unaff_s1") (= "=") (identifier "param_2")) (; ";")) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" (identifier "unaff_s2") (= "=") (identifier "param_1")) (; ";")) (goto_statement "goto LAB_0004c02c;" (goto "goto") (statement_identifier "LAB_0004c02c") (; ";")) (} "}"))) (if_statement "if (param_1[0xc84] != 0) {\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" (if "if") (parenthesized_expression "(param_1[0xc84] != 0)" (( "(") (binary_expression "param_1[0xc84] != 0" (subscript_expression "param_1[0xc84]" (identifier "param_1") ([ "[") (number_literal "0xc84") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_104c = param_1 + 0x884;\n      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);\n    }" ({ "{") (expression_statement "local_104c = param_1 + 0x884;" (assignment_expression "local_104c = param_1 + 0x884" (identifier "local_104c") (= "=") (binary_expression "param_1 + 0x884" (identifier "param_1") (+ "+") (number_literal "0x884"))) (; ";")) (expression_statement "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);" (assignment_expression "local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" (identifier "local_1050") (= "=") (cast_expression "(uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_t_to_left_003a88e4 + -0x62ac)" (( "(") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x2514" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2514")) (, ",") (number_literal "0x7f5") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar13 = PTR_CloneImageInfo_003a919c;" (assignment_expression "puVar13 = PTR_CloneImageInfo_003a919c" (identifier "puVar13") (= "=") (identifier "PTR_CloneImageInfo_003a919c")) (; ";")) (expression_statement "piVar12 = (int *)PTR_LAB_003a88e0;" (assignment_expression "piVar12 = (int *)PTR_LAB_003a88e0" (identifier "piVar12") (= "=") (cast_expression "(int *)PTR_LAB_003a88e0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LAB_003a88e0"))) (; ";")) (expression_statement "unaff_s1 = param_2;" (assignment_expression "unaff_s1 = param_2" (identifier "unaff_s1") (= "=") (identifier "param_2")) (; ";")) (expression_statement "unaff_s3 = param_4;" (assignment_expression "unaff_s3 = param_4" (identifier "unaff_s3") (= "=") (identifier "param_4")) (; ";")) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" (identifier "unaff_s5") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_2 == (int *)0x0) {\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" (if "if") (parenthesized_expression "(param_2 == (int *)0x0)" (( "(") (binary_expression "param_2 == (int *)0x0" (identifier "param_2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;\n      goto LAB_0004bfdc;\n    }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)\n      ;" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x7f7") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x2520" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2520")) () ")"))) (; ";")) (goto_statement "goto LAB_0004bfdc;" (goto "goto") (statement_identifier "LAB_0004bfdc") (; ";")) (} "}"))) (if_statement "if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;" (if "if") (parenthesized_expression "(param_2[0xcdb] != -0x54535255)" (( "(") (binary_expression "param_2[0xcdb] != -0x54535255" (subscript_expression "param_2[0xcdb]" (identifier "param_2") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0004c00c;" (goto "goto") (statement_identifier "LAB_0004c00c") (; ";"))) (expression_statement "puVar19 = PTR_LAB_003a88e0;" (assignment_expression "puVar19 = PTR_LAB_003a88e0" (identifier "puVar19") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (expression_statement "unaff_s2 = param_1;" (assignment_expression "unaff_s2 = param_1" (identifier "unaff_s2") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_4 != (int *)0x0) {\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *param_3 = 0;\n      unaff_s6 = param_2 + 0x8d0;\n      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);\n      *(undefined4 *)(unaff_s0 + 0xc) = 0;\n      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);\n      if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }\n      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);\n      if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }\n      if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }\n      goto LAB_0004c000;\n    }" ({ "{") (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s6 = param_2 + 0x8d0;" (assignment_expression "unaff_s6 = param_2 + 0x8d0" (identifier "unaff_s6") (= "=") (binary_expression "param_2 + 0x8d0" (identifier "param_2") (+ "+") (number_literal "0x8d0"))) (; ";")) (expression_statement "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);" (assignment_expression "unaff_s0 = (undefined *)(*(code *)puVar13)(param_1)" (identifier "unaff_s0") (= "=") (cast_expression "(undefined *)(*(code *)puVar13)(param_1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar13)(param_1)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(unaff_s0 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0xc)" (* "*") (cast_expression "(undefined4 *)(unaff_s0 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0xc)" (( "(") (binary_expression "unaff_s0 + 0xc" (identifier "unaff_s0") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);" (call_expression "(*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4)" (parenthesized_expression "(*(code *)PTR_SetImageInfo_003a95d8)" (( "(") (pointer_expression "*(code *)PTR_SetImageInfo_003a95d8" (* "*") (cast_expression "(code *)PTR_SetImageInfo_003a95d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_SetImageInfo_003a95d8"))) () ")")) (argument_list "(unaff_s0,1,param_4)" (( "(") (identifier "unaff_s0") (, ",") (number_literal "1") (, ",") (identifier "param_4") () ")"))) (; ";")) (if_statement "if (unaff_s0[0x210] != '\0') {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" (if "if") (parenthesized_expression "(unaff_s0[0x210] != '\0')" (( "(") (binary_expression "unaff_s0[0x210] != '\0'" (subscript_expression "unaff_s0[0x210]" (identifier "unaff_s0") ([ "[") (number_literal "0x210") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);\n      }" ({ "{") (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" (( "(") (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" (* "*") (cast_expression "(code *)PTR_CopyMagickString_003a983c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CopyMagickString_003a983c"))) () ")")) (argument_list "(unaff_s6,unaff_s0 + 0x210,0x1000)" (( "(") (identifier "unaff_s6") (, ",") (binary_expression "unaff_s0 + 0x210" (identifier "unaff_s0") (+ "+") (number_literal "0x210")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);" (assignment_expression "unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" (identifier "unaff_s7") (= "=") (cast_expression "(uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4)" (parenthesized_expression "(*(code *)PTR_GetMagickInfo_003a940c)" (( "(") (pointer_expression "*(code *)PTR_GetMagickInfo_003a940c" (* "*") (cast_expression "(code *)PTR_GetMagickInfo_003a940c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickInfo_003a940c"))) () ")")) (argument_list "(unaff_s6,param_4)" (( "(") (identifier "unaff_s6") (, ",") (identifier "param_4") () ")"))))) (; ";")) (if_statement "if (unaff_s7 == (uint *)0x0) {\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }\n      else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" (if "if") (parenthesized_expression "(unaff_s7 == (uint *)0x0)" (( "(") (binary_expression "unaff_s7 == (uint *)0x0" (identifier "unaff_s7") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar12 = (int *)0x804;\n        param_1 = (int *)0x0;\n        local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);\n        local_1050 = (uint *)0x1a4;\n        local_1044 = unaff_s6;\n        (*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n      }" ({ "{") (expression_statement "piVar12 = (int *)0x804;" (assignment_expression "piVar12 = (int *)0x804" (identifier "piVar12") (= "=") (cast_expression "(int *)0x804" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x804"))) (; ";")) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" (identifier "local_1048") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec)" (identifier "local_104c") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cec)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cec" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cec")) () ")")))) (; ";")) (expression_statement "local_1050 = (uint *)0x1a4;" (assignment_expression "local_1050 = (uint *)0x1a4" (identifier "local_1050") (= "=") (cast_expression "(uint *)0x1a4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1a4"))) (; ";")) (expression_statement "local_1044 = unaff_s6;" (assignment_expression "local_1044 = unaff_s6" (identifier "local_1044") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804)" (( "(") (identifier "param_4") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x2514" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2514")) (, ",") (number_literal "0x804") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" (* "*") (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageInfo_003a95e8"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);\n        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);\n        puVar13 = PTR_AcquireQuantumMemory_003a950c;\n        if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }\n        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);\n        param_2 = piVar2;\n      }" ({ "{") (expression_statement "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);" (call_expression "(*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000)" (parenthesized_expression "(*(code *)PTR_CopyMagickString_003a983c)" (( "(") (pointer_expression "*(code *)PTR_CopyMagickString_003a983c" (* "*") (cast_expression "(code *)PTR_CopyMagickString_003a983c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CopyMagickString_003a983c"))) () ")")) (argument_list "(unaff_s0 + 0x210,unaff_s6,0x1000)" (( "(") (binary_expression "unaff_s0 + 0x210" (identifier "unaff_s0") (+ "+") (number_literal "0x210")) (, ",") (identifier "unaff_s6") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_GetMagickBlobSupport_003a9774)" (( "(") (pointer_expression "*(code *)PTR_GetMagickBlobSupport_003a9774" (* "*") (cast_expression "(code *)PTR_GetMagickBlobSupport_003a9774" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickBlobSupport_003a9774"))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "puVar13 = PTR_AcquireQuantumMemory_003a950c;" (assignment_expression "puVar13 = PTR_AcquireQuantumMemory_003a950c" (identifier "puVar13") (= "=") (identifier "PTR_AcquireQuantumMemory_003a950c")) (; ";")) (if_statement "if (iVar1 == 0) {\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }\n        else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          unaff_s7 = auStack_102c;\n          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);\n          if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }\n        }" ({ "{") (expression_statement "unaff_s7 = auStack_102c;" (assignment_expression "unaff_s7 = auStack_102c" (identifier "unaff_s7") (= "=") (identifier "auStack_102c")) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);" (assignment_expression "iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" (( "(") (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" (* "*") (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireUniqueFileResource_003a8e44"))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")")))) (; ";")) (if_statement "if (iVar1 == -1) {\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }\n          else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            piVar11 = param_1 + 0x884;\n            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n            piVar12 = (int *)0x835;\n            param_1 = (int *)0x0;\n            local_1048 = PTR_LAB_003a88e0 + 0xe78;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);\n            local_1050 = (uint *)&DAT_000001b3;\n            local_1044 = piVar11;\n            local_1040 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);\n            (*(code *)PTR_DestroyString_003a9074)(piVar2);\n          }" ({ "{") (expression_statement "piVar11 = param_1 + 0x884;" (assignment_expression "piVar11 = param_1 + 0x884" (identifier "piVar11") (= "=") (binary_expression "param_1 + 0x884" (identifier "param_1") (+ "+") (number_literal "0x884"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_003a99b0)()" (parenthesized_expression "(*(code *)PTR___errno_location_003a99b0)" (( "(") (pointer_expression "*(code *)PTR___errno_location_003a99b0" (* "*") (cast_expression "(code *)PTR___errno_location_003a99b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_003a99b0"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (parenthesized_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)" (( "(") (pointer_expression "*(code *)PTR_GetExceptionMessage_003a93ec" (* "*") (cast_expression "(code *)PTR_GetExceptionMessage_003a93ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetExceptionMessage_003a93ec"))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "piVar12 = (int *)0x835;" (assignment_expression "piVar12 = (int *)0x835" (identifier "piVar12") (= "=") (cast_expression "(int *)0x835" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x835"))) (; ";")) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0xe78;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0xe78" (identifier "local_1048") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0xe78" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xe78"))) (; ";")) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4)" (identifier "local_104c") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1ba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1ba4)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1ba4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ba4")) () ")")))) (; ";")) (expression_statement "local_1050 = (uint *)&DAT_000001b3;" (assignment_expression "local_1050 = (uint *)&DAT_000001b3" (identifier "local_1050") (= "=") (cast_expression "(uint *)&DAT_000001b3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000001b3" (& "&") (identifier "DAT_000001b3")))) (; ";")) (expression_statement "local_1044 = piVar11;" (assignment_expression "local_1044 = piVar11" (identifier "local_1044") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "local_1040 = piVar2;" (assignment_expression "local_1040 = piVar2" (identifier "local_1040") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835)" (( "(") (identifier "param_4") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x2514" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2514")) (, ",") (number_literal "0x835") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(piVar2);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(piVar2)" (parenthesized_expression "(*(code *)PTR_DestroyString_003a9074)" (( "(") (pointer_expression "*(code *)PTR_DestroyString_003a9074" (* "*") (cast_expression "(code *)PTR_DestroyString_003a9074" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyString_003a9074"))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" (else "else") (compound_statement "{\n            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);\n            *(int *)(unaff_s0 + 0x204) = iVar1;\n            piVar2 = param_2;\n            if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }\n            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);\n          }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);" (assignment_expression "iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98)" (parenthesized_expression "(*(code *)PTR_fdopen_003a97d8)" (( "(") (pointer_expression "*(code *)PTR_fdopen_003a97d8" (* "*") (cast_expression "(code *)PTR_fdopen_003a97d8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fdopen_003a97d8"))) () ")")) (argument_list "(iVar1,PTR_LAB_003a88e0 + 0xe98)" (( "(") (identifier "iVar1") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0xe98" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xe98")) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_s0 + 0x204) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x204) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x204)" (* "*") (cast_expression "(int *)(unaff_s0 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x204)" (( "(") (binary_expression "unaff_s0 + 0x204" (identifier "unaff_s0") (+ "+") (number_literal "0x204")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar2 = param_2;" (assignment_expression "piVar2 = param_2" (identifier "piVar2") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }\n            else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004bd90:\n              param_1 = (int *)0x0;\n            }" ({ "{") (labeled_statement "LAB_0004bd90:\n              param_1 = (int *)0x0;" (statement_identifier "LAB_0004bd90") (: ":") (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" (else "else") (compound_statement "{\n              piVar12 = unaff_s6;\n              local_1050 = unaff_s7;\n              (*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);\n              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);\n              (*(code *)PTR_CloseBlob_003a9688)(param_2);\n              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));\n              if (piVar2 == (int *)0x0) goto LAB_0004bd90;\n              piVar12 = param_4;\n              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);\n            }" ({ "{") (expression_statement "piVar12 = unaff_s6;" (assignment_expression "piVar12 = unaff_s6" (identifier "piVar12") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "local_1050 = unaff_s7;" (assignment_expression "local_1050 = unaff_s7" (identifier "local_1050") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);" (call_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)\n                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003a8d7c)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003a8d7c" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003a8d7c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003a8d7c"))) () ")")) (argument_list "(param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6)" (( "(") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0")) (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1d10" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1d10")) (, ",") (identifier "unaff_s6") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)PTR_WriteImage_003a8f74)" (( "(") (pointer_expression "*(code *)PTR_WriteImage_003a8f74" (* "*") (cast_expression "(code *)PTR_WriteImage_003a8f74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_WriteImage_003a8f74"))) () ")")) (argument_list "(unaff_s0,param_2,param_4)" (( "(") (identifier "unaff_s0") (, ",") (identifier "param_2") (, ",") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));" (call_expression "(*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204))" (parenthesized_expression "(*(code *)PTR_fclose_003a939c)" (( "(") (pointer_expression "*(code *)PTR_fclose_003a939c" (* "*") (cast_expression "(code *)PTR_fclose_003a939c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fclose_003a939c"))) () ")")) (argument_list "(*(undefined4 *)(unaff_s0 + 0x204))" (( "(") (pointer_expression "*(undefined4 *)(unaff_s0 + 0x204)" (* "*") (cast_expression "(undefined4 *)(unaff_s0 + 0x204)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x204)" (( "(") (binary_expression "unaff_s0 + 0x204" (identifier "unaff_s0") (+ "+") (number_literal "0x204")) () ")")))) () ")"))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) goto LAB_0004bd90;" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004bd90;" (goto "goto") (statement_identifier "LAB_0004bd90") (; ";"))) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" (identifier "piVar12") (= "=") (identifier "param_4")) (; ";")) (expression_statement "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4);" (assignment_expression "param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" (identifier "param_1") (= "=") (cast_expression "(int *)(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_FileToBlob_003a8d24)\n                                         (unaff_s7,0xffffffff,param_3,param_4)" (parenthesized_expression "(*(code *)PTR_FileToBlob_003a8d24)" (( "(") (pointer_expression "*(code *)PTR_FileToBlob_003a8d24" (* "*") (cast_expression "(code *)PTR_FileToBlob_003a8d24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FileToBlob_003a8d24"))) () ")")) (argument_list "(unaff_s7,0xffffffff,param_3,param_4)" (( "(") (identifier "unaff_s7") (, ",") (number_literal "0xffffffff") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);" (call_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7)" (parenthesized_expression "(*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)" (( "(") (pointer_expression "*(code *)PTR_RelinquishUniqueFileResource_003a8f9c" (* "*") (cast_expression "(code *)PTR_RelinquishUniqueFileResource_003a8f9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_RelinquishUniqueFileResource_003a8f9c"))) () ")")) (argument_list "(unaff_s7)" (( "(") (identifier "unaff_s7") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)(unaff_s0 + 0x20c) = 0;\n          iVar1 = (*(code *)puVar13)(0x10000,1);\n          *(int *)(unaff_s0 + 0x208) = iVar1;\n          if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }\n        }" ({ "{") (expression_statement "*(undefined4 *)(unaff_s0 + 0x20c) = 0;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x20c) = 0" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x20c)" (* "*") (cast_expression "(undefined4 *)(unaff_s0 + 0x20c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x20c)" (( "(") (binary_expression "unaff_s0 + 0x20c" (identifier "unaff_s0") (+ "+") (number_literal "0x20c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = (*(code *)puVar13)(0x10000,1);" (assignment_expression "iVar1 = (*(code *)puVar13)(0x10000,1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)puVar13)(0x10000,1)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "(0x10000,1)" (( "(") (number_literal "0x10000") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_s0 + 0x208) = iVar1;" (assignment_expression "*(int *)(unaff_s0 + 0x208) = iVar1" (pointer_expression "*(int *)(unaff_s0 + 0x208)" (* "*") (cast_expression "(int *)(unaff_s0 + 0x208)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x208)" (( "(") (binary_expression "unaff_s0 + 0x208" (identifier "unaff_s0") (+ "+") (number_literal "0x208")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 == 0) {\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }\n          else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar2 = param_2 + 0xd0;\n            piVar12 = (int *)0x814;\n            local_1048 = PTR_LAB_003a88e0 + 0x3e28;\n            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);\n            local_1050 = (uint *)0x190;\n            local_1044 = piVar2;\n            (*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);\n            param_1 = (int *)0x0;\n          }" ({ "{") (expression_statement "piVar2 = param_2 + 0xd0;" (assignment_expression "piVar2 = param_2 + 0xd0" (identifier "piVar2") (= "=") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0"))) (; ";")) (expression_statement "piVar12 = (int *)0x814;" (assignment_expression "piVar12 = (int *)0x814" (identifier "piVar12") (= "=") (cast_expression "(int *)0x814" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x814"))) (; ";")) (expression_statement "local_1048 = PTR_LAB_003a88e0 + 0x3e28;" (assignment_expression "local_1048 = PTR_LAB_003a88e0 + 0x3e28" (identifier "local_1048") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x3e28" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);" (assignment_expression "local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8)" (identifier "local_104c") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x16f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x16f8)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x16f8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x16f8")) () ")")))) (; ";")) (expression_statement "local_1050 = (uint *)0x190;" (assignment_expression "local_1050 = (uint *)0x190" (identifier "local_1050") (= "=") (cast_expression "(uint *)0x190" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x190"))) (; ";")) (expression_statement "local_1044 = piVar2;" (assignment_expression "local_1044 = piVar2" (identifier "local_1044") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" (parenthesized_expression "(*(code *)PTR_ThrowMagickException_003a8f20)" (( "(") (pointer_expression "*(code *)PTR_ThrowMagickException_003a8f20" (* "*") (cast_expression "(code *)PTR_ThrowMagickException_003a8f20" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ThrowMagickException_003a8f20"))) () ")")) (argument_list "(param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814)" (( "(") (identifier "param_4") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x2514" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x2514")) (, ",") (number_literal "0x814") () ")"))) (; ";")) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_CloseBlob_003a9688)(param_2);\n            puVar13 = PTR_WriteImage_003a8f74;\n            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;\n            *(undefined1 *)(param_2 + 0xd0) = 0;\n            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);\n            puVar13 = PTR_DetachBlob_003a976c;\n            piVar11 = (int *)param_2[0xcd2];\n            *param_3 = *piVar11;\n            iVar1 = (*(code *)puVar13)(piVar11);\n            if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }\n          }" ({ "{") (expression_statement "(*(code *)PTR_CloseBlob_003a9688)(param_2);" (call_expression "(*(code *)PTR_CloseBlob_003a9688)(param_2)" (parenthesized_expression "(*(code *)PTR_CloseBlob_003a9688)" (( "(") (pointer_expression "*(code *)PTR_CloseBlob_003a9688" (* "*") (cast_expression "(code *)PTR_CloseBlob_003a9688" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_CloseBlob_003a9688"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "puVar13 = PTR_WriteImage_003a8f74;" (assignment_expression "puVar13 = PTR_WriteImage_003a8f74" (identifier "puVar13") (= "=") (identifier "PTR_WriteImage_003a8f74")) (; ";")) (expression_statement "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1;" (assignment_expression "*(undefined4 *)(param_2[0xcd2] + 0x30) = 1" (pointer_expression "*(undefined4 *)(param_2[0xcd2] + 0x30)" (* "*") (cast_expression "(undefined4 *)(param_2[0xcd2] + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2[0xcd2] + 0x30)" (( "(") (binary_expression "param_2[0xcd2] + 0x30" (subscript_expression "param_2[0xcd2]" (identifier "param_2") ([ "[") (number_literal "0xcd2") (] "]")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)(param_2 + 0xd0) = 0;" (assignment_expression "*(undefined1 *)(param_2 + 0xd0) = 0" (pointer_expression "*(undefined1 *)(param_2 + 0xd0)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xd0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd0)" (( "(") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);" (assignment_expression "piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(code *)puVar13)(unaff_s0,param_2,param_4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar13)(unaff_s0,param_2,param_4)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "(unaff_s0,param_2,param_4)" (( "(") (identifier "unaff_s0") (, ",") (identifier "param_2") (, ",") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "puVar13 = PTR_DetachBlob_003a976c;" (assignment_expression "puVar13 = PTR_DetachBlob_003a976c" (identifier "puVar13") (= "=") (identifier "PTR_DetachBlob_003a976c")) (; ";")) (expression_statement "piVar11 = (int *)param_2[0xcd2];" (assignment_expression "piVar11 = (int *)param_2[0xcd2]" (identifier "piVar11") (= "=") (cast_expression "(int *)param_2[0xcd2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xcd2]" (identifier "param_2") ([ "[") (number_literal "0xcd2") (] "]")))) (; ";")) (expression_statement "*param_3 = *piVar11;" (assignment_expression "*param_3 = *piVar11" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "iVar1 = (*(code *)puVar13)(piVar11);" (assignment_expression "iVar1 = (*(code *)puVar13)(piVar11)" (identifier "iVar1") (= "=") (call_expression "(*(code *)puVar13)(piVar11)" (parenthesized_expression "(*(code *)puVar13)" (( "(") (pointer_expression "*(code *)puVar13" (* "*") (cast_expression "(code *)puVar13" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")) (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }\n            else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));\n              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;\n              param_1 = (int *)0x0;\n            }" ({ "{") (expression_statement "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208));" (assignment_expression "uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)\n                                (*(undefined4 *)(unaff_s0 + 0x208))" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" (( "(") (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" (* "*") (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_RelinquishMagickMemory_003a8fc0"))) () ")")) (argument_list "(*(undefined4 *)(unaff_s0 + 0x208))" (( "(") (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" (* "*") (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x208)" (( "(") (binary_expression "unaff_s0 + 0x208" (identifier "unaff_s0") (+ "+") (number_literal "0x208")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(unaff_s0 + 0x208) = uVar3;" (assignment_expression "*(undefined4 *)(unaff_s0 + 0x208) = uVar3" (pointer_expression "*(undefined4 *)(unaff_s0 + 0x208)" (* "*") (cast_expression "(undefined4 *)(unaff_s0 + 0x208)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 + 0x208)" (( "(") (binary_expression "unaff_s0 + 0x208" (identifier "unaff_s0") (+ "+") (number_literal "0x208")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "param_1 = (int *)0x0;" (assignment_expression "param_1 = (int *)0x0" (identifier "param_1") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" (else "else") (if_statement "if (piVar2 == (int *)0x0) {\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }\n            else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);\n            }" ({ "{") (expression_statement "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" (identifier "param_1") (= "=") (cast_expression "(int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" (( "(") (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" (* "*") (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_RelinquishMagickMemory_003a8fc0"))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" (else "else") (compound_statement "{\n              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);\n            }" ({ "{") (expression_statement "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);" (assignment_expression "param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" (identifier "param_1") (= "=") (cast_expression "(int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1)" (parenthesized_expression "(*(code *)PTR_ResizeQuantumMemory_003a9420)" (( "(") (pointer_expression "*(code *)PTR_ResizeQuantumMemory_003a9420" (* "*") (cast_expression "(code *)PTR_ResizeQuantumMemory_003a9420" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ResizeQuantumMemory_003a9420"))) () ")")) (argument_list "(iVar1,*param_3 + 1,1)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*param_3 + 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")"))))) (; ";")) (} "}")))))) (} "}")))) (} "}")))) (expression_statement "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);" (call_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0)" (parenthesized_expression "(*(code *)PTR_DestroyImageInfo_003a95e8)" (( "(") (pointer_expression "*(code *)PTR_DestroyImageInfo_003a95e8" (* "*") (cast_expression "(code *)PTR_DestroyImageInfo_003a95e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImageInfo_003a95e8"))) () ")")) (argument_list "(unaff_s0)" (( "(") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "param_2 = piVar2;" (assignment_expression "param_2 = piVar2" (identifier "param_2") (= "=") (identifier "piVar2")) (; ";")) (} "}")))) (if_statement "if (local_2c == *(int *)puVar4) {\n        return param_1;\n      }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar4)" (( "(") (binary_expression "local_2c == *(int *)puVar4" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n        return param_1;\n      }" ({ "{") (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (goto_statement "goto LAB_0004c000;" (goto "goto") (statement_identifier "LAB_0004c000") (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar2 = (int *)&DAT_000007f9;" (assignment_expression "piVar2 = (int *)&DAT_000007f9" (identifier "piVar2") (= "=") (cast_expression "(int *)&DAT_000007f9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000007f9" (& "&") (identifier "DAT_000007f9")))) (; ";")) (expression_statement "piVar11 = (int *)(puVar19 + 0x2520);" (assignment_expression "piVar11 = (int *)(puVar19 + 0x2520)" (identifier "piVar11") (= "=") (cast_expression "(int *)(puVar19 + 0x2520)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x2520)" (( "(") (binary_expression "puVar19 + 0x2520" (identifier "puVar19") (+ "+") (number_literal "0x2520")) () ")")))) (; ";")) (expression_statement "puVar13 = PTR_LAB_003a88e0 + 0x1ad8;" (assignment_expression "puVar13 = PTR_LAB_003a88e0 + 0x1ad8" (identifier "puVar13") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "pcVar26 = ImagesToBlob;" (assignment_expression "pcVar26 = ImagesToBlob" (identifier "pcVar26") (= "=") (identifier "ImagesToBlob")) (; ";")) (expression_statement "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);" (assignment_expression "piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac)" (identifier "piVar12") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x1cac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1cac)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1cac" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1cac")) () ")")))) (; ";")) (expression_statement "puVar19 = PTR___assert_fail_003a9608;" (assignment_expression "puVar19 = PTR___assert_fail_003a9608" (identifier "puVar19") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_1074 = puVar4;" (assignment_expression "puStack_1074 = puVar4" (identifier "puStack_1074") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "pdVar23 = *(dword **)(puVar19 + 0x35d1c0);" (assignment_expression "pdVar23 = *(dword **)(puVar19 + 0x35d1c0)" (identifier "pdVar23") (= "=") (pointer_expression "*(dword **)(puVar19 + 0x35d1c0)" (* "*") (cast_expression "(dword **)(puVar19 + 0x35d1c0)" (( "(") (type_descriptor "dword **" (type_identifier "dword") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d1c0)" (( "(") (binary_expression "puVar19 + 0x35d1c0" (identifier "puVar19") (+ "+") (number_literal "0x35d1c0")) () ")"))))) (; ";")) (expression_statement "dStack_108c = *pdVar23;" (assignment_expression "dStack_108c = *pdVar23" (identifier "dStack_108c") (= "=") (pointer_expression "*pdVar23" (* "*") (identifier "pdVar23"))) (; ";")) (expression_statement "puStack_1084 = unaff_s0;" (assignment_expression "puStack_1084 = unaff_s0" (identifier "puStack_1084") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "piStack_1080 = unaff_s1;" (assignment_expression "piStack_1080 = unaff_s1" (identifier "piStack_1080") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "piStack_107c = unaff_s2;" (assignment_expression "piStack_107c = unaff_s2" (identifier "piStack_107c") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "piStack_1078 = param_4;" (assignment_expression "piStack_1078 = param_4" (identifier "piStack_1078") (= "=") (identifier "param_4")) (; ";")) (expression_statement "piStack_1070 = param_3;" (assignment_expression "piStack_1070 = param_3" (identifier "piStack_1070") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piStack_106c = unaff_s6;" (assignment_expression "piStack_106c = unaff_s6" (identifier "piStack_106c") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_1068 = unaff_s7;" (assignment_expression "puStack_1068 = unaff_s7" (identifier "puStack_1068") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcStack_1064 = pcVar26;" (assignment_expression "pcStack_1064 = pcVar26" (identifier "pcStack_1064") (= "=") (identifier "pcVar26")) (; ";")) (if_statement "if (piVar12 != (int *)0x0) {\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" (if "if") (parenthesized_expression "(piVar12 != (int *)0x0)" (( "(") (binary_expression "piVar12 != (int *)0x0" (identifier "piVar12") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }\n    (**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);\n    unaff_s1 = piVar12;\n  }" ({ "{") (if_statement "if (piVar12[0xc85] == -0x54535255) {\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }\n    else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" (if "if") (parenthesized_expression "(piVar12[0xc85] == -0x54535255)" (( "(") (binary_expression "piVar12[0xc85] == -0x54535255" (subscript_expression "piVar12[0xc85]" (identifier "piVar12") ([ "[") (number_literal "0xc85") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }\n      unaff_s0 = puVar13;\n      param_4 = piVar11;\n      param_3 = piVar2;\n      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;\n      iVar1 = *(int *)(puVar19 + 0x35c870);\n      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }\n    }" ({ "{") (if_statement "if (piVar12[0xc84] != 0) {\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" (if "if") (parenthesized_expression "(piVar12[0xc84] != 0)" (( "(") (binary_expression "piVar12[0xc84] != 0" (subscript_expression "piVar12[0xc84]" (identifier "piVar12") ([ "[") (number_literal "0xc84") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);\n      }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);" (call_expression "(**(code **)(puVar19 + 0x35d170))\n                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d170))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d170)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d170)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d170)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d170)" (( "(") (binary_expression "puVar19 + 0x35d170" (identifier "puVar19") (+ "+") (number_literal "0x35d170")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24b4")) (, ",") (number_literal "0x985") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" (identifier "unaff_s0") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "param_4 = piVar11;" (assignment_expression "param_4 = piVar11" (identifier "param_4") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "param_3 = piVar2;" (assignment_expression "param_3 = piVar2" (identifier "param_3") (= "=") (identifier "piVar2")) (; ";")) (if_statement "if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;" (if "if") (parenthesized_expression "(puVar13 == (undefined *)0x0)" (( "(") (binary_expression "puVar13 == (undefined *)0x0" (identifier "puVar13") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004c5a4;" (goto "goto") (statement_identifier "LAB_0004c5a4") (; ";"))) (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870);" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar13 + 0x336c) == -0x54535255) {\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar13 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar13 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" (* "*") (cast_expression "(int *)(puVar13 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x336c)" (( "(") (binary_expression "puVar13 + 0x336c" (identifier "puVar13") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n        pcVar26 = *(code **)(puVar19 + 0x35d12c);\n        if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }\n        goto LAB_0004c5c8;\n      }" ({ "{") (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d12c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d12c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar19 + 0x35d12c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d12c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d12c)" (( "(") (binary_expression "puVar19 + 0x35d12c" (identifier "puVar19") (+ "+") (number_literal "0x35d12c")) () ")"))))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *piVar2 = 0;\n          unaff_s7 = (uint *)(puVar13 + 0x2340);\n          unaff_s2 = (int *)(*pcVar26)(piVar12);\n          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);\n          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);\n          if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }\n          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);\n          if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }\n          unaff_s0 = puVar13;\n          if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }\n          goto LAB_0004c598;\n        }" ({ "{") (expression_statement "*piVar2 = 0;" (assignment_expression "*piVar2 = 0" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s7 = (uint *)(puVar13 + 0x2340);" (assignment_expression "unaff_s7 = (uint *)(puVar13 + 0x2340)" (identifier "unaff_s7") (= "=") (cast_expression "(uint *)(puVar13 + 0x2340)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x2340)" (( "(") (binary_expression "puVar13 + 0x2340" (identifier "puVar13") (+ "+") (number_literal "0x2340")) () ")")))) (; ";")) (expression_statement "unaff_s2 = (int *)(*pcVar26)(piVar12);" (assignment_expression "unaff_s2 = (int *)(*pcVar26)(piVar12)" (identifier "unaff_s2") (= "=") (cast_expression "(int *)(*pcVar26)(piVar12)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")"))))) (; ";")) (expression_statement "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);" (assignment_expression "uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(puVar19 + 0x35d208))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d208))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d208)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d208)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d208)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d208)" (( "(") (binary_expression "puVar19 + 0x35d208" (identifier "puVar19") (+ "+") (number_literal "0x35d208")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")")))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);" (call_expression "(**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d568))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d568)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d568)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d568)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d568)" (( "(") (binary_expression "puVar19 + 0x35d568" (identifier "puVar19") (+ "+") (number_literal "0x35d568")) () ")"))))) () ")")) (argument_list "(unaff_s2,uVar3,piVar11)" (( "(") (identifier "unaff_s2") (, ",") (identifier "uVar3") (, ",") (identifier "piVar11") () ")"))) (; ";")) (if_statement "if (*(char *)(unaff_s2 + 0x84) != '\0') {\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" (if "if") (parenthesized_expression "(*(char *)(unaff_s2 + 0x84) != '\0')" (( "(") (binary_expression "*(char *)(unaff_s2 + 0x84) != '\0'" (pointer_expression "*(char *)(unaff_s2 + 0x84)" (* "*") (cast_expression "(char *)(unaff_s2 + 0x84)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s2 + 0x84)" (( "(") (binary_expression "unaff_s2 + 0x84" (identifier "unaff_s2") (+ "+") (number_literal "0x84")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);\n          }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d7cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d7cc)" (( "(") (binary_expression "puVar19 + 0x35d7cc" (identifier "puVar19") (+ "+") (number_literal "0x35d7cc")) () ")"))))) () ")")) (argument_list "(unaff_s7,unaff_s2 + 0x84,0x1000)" (( "(") (identifier "unaff_s7") (, ",") (binary_expression "unaff_s2 + 0x84" (identifier "unaff_s2") (+ "+") (number_literal "0x84")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);" (assignment_expression "unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d39c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d39c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d39c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d39c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d39c)" (( "(") (binary_expression "puVar19 + 0x35d39c" (identifier "puVar19") (+ "+") (number_literal "0x35d39c")) () ")"))))) () ")")) (argument_list "(unaff_s7,piVar11)" (( "(") (identifier "unaff_s7") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (if_statement "if (unaff_s6 == (int *)0x0) {\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }\n          else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" (if "if") (parenthesized_expression "(unaff_s6 == (int *)0x0)" (( "(") (binary_expression "unaff_s6 == (int *)0x0" (identifier "unaff_s6") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);\n            (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n          }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" (* "*") (cast_expression "(code **)(puVar19 + 0x35ceb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35ceb0)" (( "(") (binary_expression "puVar19 + 0x35ceb0" (identifier "puVar19") (+ "+") (number_literal "0x35ceb0")) () ")"))))) () ")")) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994)" (( "(") (identifier "piVar11") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24b4")) (, ",") (number_literal "0x994") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d578)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d578)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d578)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d578)" (( "(") (binary_expression "puVar19 + 0x35d578" (identifier "puVar19") (+ "+") (number_literal "0x35d578")) () ")"))))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" (else "else") (compound_statement "{\n            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);\n            if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }\n          }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar19 + 0x35cc9c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc9c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cc9c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cc9c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cc9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cc9c)" (( "(") (binary_expression "puVar19 + 0x35cc9c" (identifier "puVar19") (+ "+") (number_literal "0x35cc9c")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }\n            else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);\n            }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d578)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d578)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d578)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d578)" (( "(") (binary_expression "puVar19 + 0x35d578" (identifier "puVar19") (+ "+") (number_literal "0x35d578")) () ")"))))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d45c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d45c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d45c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d45c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d45c)" (( "(") (binary_expression "puVar19 + 0x35d45c" (identifier "puVar19") (+ "+") (number_literal "0x35d45c")) () ")"))))) () ")")) (argument_list "(piVar12,puVar13,piVar2,piVar11)" (( "(") (identifier "piVar12") (, ",") (identifier "puVar13") (, ",") (identifier "piVar2") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" (else "else") (compound_statement "{\n              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);\n              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);\n              puVar4 = puVar13;\n              if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }\n              (**(code **)(puVar19 + 0x35d578))(unaff_s2);\n              puVar13 = puVar4;\n            }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);" (call_expression "(**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d7cc))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d7cc)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d7cc)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d7cc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d7cc)" (( "(") (binary_expression "puVar19 + 0x35d7cc" (identifier "puVar19") (+ "+") (number_literal "0x35d7cc")) () ")"))))) () ")")) (argument_list "(unaff_s2 + 0x84,unaff_s7,0x1000)" (( "(") (binary_expression "unaff_s2 + 0x84" (identifier "unaff_s2") (+ "+") (number_literal "0x84")) (, ",") (identifier "unaff_s7") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar19 + 0x35d704))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d704))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d704)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d704)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d704)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d704)" (( "(") (binary_expression "puVar19 + 0x35d704" (identifier "puVar19") (+ "+") (number_literal "0x35d704")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")")))) (; ";")) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" (identifier "puVar4") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (iVar1 == 0) {\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }\n              else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                unaff_s6 = aiStack_208c;\n                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);\n                if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }\n              }" ({ "{") (expression_statement "unaff_s6 = aiStack_208c;" (assignment_expression "unaff_s6 = aiStack_208c" (identifier "unaff_s6") (= "=") (identifier "aiStack_208c")) (; ";")) (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar19 + 0x35cdd4))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cdd4))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cdd4)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cdd4)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cdd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cdd4)" (( "(") (binary_expression "puVar19 + 0x35cdd4" (identifier "puVar19") (+ "+") (number_literal "0x35cdd4")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")")))) (; ";")) (if_statement "if (iVar1 == -1) {\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }\n                else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();\n                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);\n                  piVar12 = (int *)0x0;\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);\n                  (**(code **)(puVar19 + 0x35d004))(puVar4);\n                }" ({ "{") (expression_statement "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar19 + 0x35d940))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35d940))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35d940))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d940)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d940)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d940)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d940)" (( "(") (binary_expression "puVar19 + 0x35d940" (identifier "puVar19") (+ "+") (number_literal "0x35d940")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);" (assignment_expression "puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" (identifier "puVar4") (= "=") (cast_expression "(undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35d37c))(*puVar8)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d37c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d37c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d37c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d37c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d37c)" (( "(") (binary_expression "puVar19 + 0x35d37c" (identifier "puVar19") (+ "+") (number_literal "0x35d37c")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" (* "*") (cast_expression "(code **)(puVar19 + 0x35ceb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35ceb0)" (( "(") (binary_expression "puVar19 + 0x35ceb0" (identifier "puVar19") (+ "+") (number_literal "0x35ceb0")) () ")"))))) () ")")) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb)" (( "(") (identifier "piVar11") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24b4")) (, ",") (number_literal "0x9cb") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35d004))(puVar4);" (call_expression "(**(code **)(puVar19 + 0x35d004))(puVar4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d004))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d004)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d004)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d004)" (( "(") (binary_expression "puVar19 + 0x35d004" (identifier "puVar19") (+ "+") (number_literal "0x35d004")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" (else "else") (compound_statement "{\n                  iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);\n                  unaff_s2[0x81] = iVar1;\n                  if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }\n                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);\n                }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar19 + 0x35d768))\n                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d768))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d768)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d768)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d768)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d768)" (( "(") (binary_expression "puVar19 + 0x35d768" (identifier "puVar19") (+ "+") (number_literal "0x35d768")) () ")"))))) () ")")) (argument_list "(iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xe98" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0xe98")) () ")")))) (; ";")) (expression_statement "unaff_s2[0x81] = iVar1;" (assignment_expression "unaff_s2[0x81] = iVar1" (subscript_expression "unaff_s2[0x81]" (identifier "unaff_s2") ([ "[") (number_literal "0x81") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }\n                  else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004c308:\n                    piVar12 = (int *)0x0;\n                  }" ({ "{") (labeled_statement "LAB_0004c308:\n                    piVar12 = (int *)0x0;" (statement_identifier "LAB_0004c308") (: ":") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (} "}")) (else_clause "else {\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" (else "else") (compound_statement "{\n                    (**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);\n                    puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);\n                    (**(code **)(puVar19 + 0x35d618))(puVar13);\n                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);\n                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);\n                  }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);" (call_expression "(**(code **)(puVar19 + 0x35cd0c))\n                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cd0c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cd0c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cd0c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cd0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cd0c)" (( "(") (binary_expression "puVar19 + 0x35cd0c" (identifier "puVar19") (+ "+") (number_literal "0x35cd0c")) () ")"))))) () ")")) (argument_list "(auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7)" (( "(") (identifier "auStack_308c") (, ",") (number_literal "0x1000") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1d10" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1d10")) (, ",") (identifier "unaff_s7") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11);" (assignment_expression "puVar4 = (undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" (identifier "puVar4") (= "=") (cast_expression "(undefined *)\n                             (**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35cc0c))\n                                       (unaff_s2,puVar13,auStack_308c,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cc0c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cc0c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cc0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cc0c)" (( "(") (binary_expression "puVar19 + 0x35cc0c" (identifier "puVar19") (+ "+") (number_literal "0x35cc0c")) () ")"))))) () ")")) (argument_list "(unaff_s2,puVar13,auStack_308c,piVar11)" (( "(") (identifier "unaff_s2") (, ",") (identifier "puVar13") (, ",") (identifier "auStack_308c") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d618)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d618)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d618)" (( "(") (binary_expression "puVar19 + 0x35d618" (identifier "puVar19") (+ "+") (number_literal "0x35d618")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);" (call_expression "(**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81])" (parenthesized_expression "(**(code **)(puVar19 + 0x35d32c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d32c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d32c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d32c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d32c)" (( "(") (binary_expression "puVar19 + 0x35d32c" (identifier "puVar19") (+ "+") (number_literal "0x35d32c")) () ")"))))) () ")")) (argument_list "(unaff_s2[0x81])" (( "(") (subscript_expression "unaff_s2[0x81]" (identifier "unaff_s2") ([ "[") (number_literal "0x81") (] "]")) () ")"))) (; ";")) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004c308;" (if "if") (parenthesized_expression "(puVar4 == (undefined *)0x0)" (( "(") (binary_expression "puVar4 == (undefined *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004c308;" (goto "goto") (statement_identifier "LAB_0004c308") (; ";"))) (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35ccb4))\n                                               (unaff_s6,0xffffffff,piVar2,piVar11)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ccb4))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35ccb4)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35ccb4)" (* "*") (cast_expression "(code **)(puVar19 + 0x35ccb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35ccb4)" (( "(") (binary_expression "puVar19 + 0x35ccb4" (identifier "puVar19") (+ "+") (number_literal "0x35ccb4")) () ")"))))) () ")")) (argument_list "(unaff_s6,0xffffffff,piVar2,piVar11)" (( "(") (identifier "unaff_s6") (, ",") (number_literal "0xffffffff") (, ",") (identifier "piVar2") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6);" (call_expression "(**(code **)(puVar19 + 0x35cf2c))(unaff_s6)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf2c))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cf2c)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cf2c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cf2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cf2c)" (( "(") (binary_expression "puVar19 + 0x35cf2c" (identifier "puVar19") (+ "+") (number_literal "0x35cf2c")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                pcVar26 = *(code **)(puVar19 + 0x35d49c);\n                unaff_s2[0x83] = 0;\n                unaff_s6 = (int *)(puVar13 + 0x340);\n                iVar1 = (*pcVar26)(0x10000,1);\n                unaff_s2[0x82] = iVar1;\n                if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }\n              }" ({ "{") (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d49c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d49c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar19 + 0x35d49c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d49c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d49c)" (( "(") (binary_expression "puVar19 + 0x35d49c" (identifier "puVar19") (+ "+") (number_literal "0x35d49c")) () ")"))))) (; ";")) (expression_statement "unaff_s2[0x83] = 0;" (assignment_expression "unaff_s2[0x83] = 0" (subscript_expression "unaff_s2[0x83]" (identifier "unaff_s2") ([ "[") (number_literal "0x83") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s6 = (int *)(puVar13 + 0x340);" (assignment_expression "unaff_s6 = (int *)(puVar13 + 0x340)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(puVar13 + 0x340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x340)" (( "(") (binary_expression "puVar13 + 0x340" (identifier "puVar13") (+ "+") (number_literal "0x340")) () ")")))) (; ";")) (expression_statement "iVar1 = (*pcVar26)(0x10000,1);" (assignment_expression "iVar1 = (*pcVar26)(0x10000,1)" (identifier "iVar1") (= "=") (call_expression "(*pcVar26)(0x10000,1)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(0x10000,1)" (( "(") (number_literal "0x10000") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" (identifier "unaff_s2") ([ "[") (number_literal "0x82") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (if_statement "if (iVar1 == 0) {\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }\n                else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  (**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);\n                  piVar12 = (int *)0x0;\n                }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);" (call_expression "(**(code **)(puVar19 + 0x35ceb0))\n                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" (parenthesized_expression "(**(code **)(puVar19 + 0x35ceb0))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35ceb0)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35ceb0)" (* "*") (cast_expression "(code **)(puVar19 + 0x35ceb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35ceb0)" (( "(") (binary_expression "puVar19 + 0x35ceb0" (identifier "puVar19") (+ "+") (number_literal "0x35ceb0")) () ")"))))) () ")")) (argument_list "(piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,\n                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9)" (( "(") (identifier "piVar11") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24b4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24b4")) (, ",") (number_literal "0x9a9") () ")"))) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" (else "else") (compound_statement "{\n                  (**(code **)(puVar19 + 0x35d618))(puVar13);\n                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);\n                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;\n                  puVar13[0x340] = 0;\n                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);\n                  piVar12 = *(int **)(puVar13 + 0x3348);\n                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);\n                  *piVar2 = *piVar12;\n                  iVar1 = (*pcVar26)(piVar12);\n                  if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }\n                }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d618))(puVar13);" (call_expression "(**(code **)(puVar19 + 0x35d618))(puVar13)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d618))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d618)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d618)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d618)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d618)" (( "(") (binary_expression "puVar19 + 0x35d618" (identifier "puVar19") (+ "+") (number_literal "0x35d618")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35cc0c);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35cc0c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar19 + 0x35cc0c)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cc0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cc0c)" (( "(") (binary_expression "puVar19 + 0x35cc0c" (identifier "puVar19") (+ "+") (number_literal "0x35cc0c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;" (assignment_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1" (pointer_expression "*(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar13 + 0x3348) + 0x30)" (( "(") (binary_expression "*(int *)(puVar13 + 0x3348) + 0x30" (pointer_expression "*(int *)(puVar13 + 0x3348)" (* "*") (cast_expression "(int *)(puVar13 + 0x3348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x3348)" (( "(") (binary_expression "puVar13 + 0x3348" (identifier "puVar13") (+ "+") (number_literal "0x3348")) () ")")))) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar13[0x340] = 0;" (assignment_expression "puVar13[0x340] = 0" (subscript_expression "puVar13[0x340]" (identifier "puVar13") ([ "[") (number_literal "0x340") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);" (assignment_expression "puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" (identifier "puVar4") (= "=") (cast_expression "(undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(unaff_s2,puVar13,unaff_s6,piVar11)" (( "(") (identifier "unaff_s2") (, ",") (identifier "puVar13") (, ",") (identifier "unaff_s6") (, ",") (identifier "piVar11") () ")"))))) (; ";")) (expression_statement "piVar12 = *(int **)(puVar13 + 0x3348);" (assignment_expression "piVar12 = *(int **)(puVar13 + 0x3348)" (identifier "piVar12") (= "=") (pointer_expression "*(int **)(puVar13 + 0x3348)" (* "*") (cast_expression "(int **)(puVar13 + 0x3348)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x3348)" (( "(") (binary_expression "puVar13 + 0x3348" (identifier "puVar13") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d6fc);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d6fc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar19 + 0x35d6fc)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d6fc)" (( "(") (binary_expression "puVar19 + 0x35d6fc" (identifier "puVar19") (+ "+") (number_literal "0x35d6fc")) () ")"))))) (; ";")) (expression_statement "*piVar2 = *piVar12;" (assignment_expression "*piVar2 = *piVar12" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (expression_statement "iVar1 = (*pcVar26)(piVar12);" (assignment_expression "iVar1 = (*pcVar26)(piVar12)" (identifier "iVar1") (= "=") (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }\n                  else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);\n                    unaff_s2[0x82] = iVar1;\n                    piVar12 = (int *)0x0;\n                  }" ({ "{") (expression_statement "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);" (assignment_expression "iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" (identifier "iVar1") (= "=") (call_expression "(**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82])" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cf50)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cf50)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cf50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cf50)" (( "(") (binary_expression "puVar19 + 0x35cf50" (identifier "puVar19") (+ "+") (number_literal "0x35cf50")) () ")"))))) () ")")) (argument_list "(unaff_s2[0x82])" (( "(") (subscript_expression "unaff_s2[0x82]" (identifier "unaff_s2") ([ "[") (number_literal "0x82") (] "]")) () ")")))) (; ";")) (expression_statement "unaff_s2[0x82] = iVar1;" (assignment_expression "unaff_s2[0x82] = iVar1" (subscript_expression "unaff_s2[0x82]" (identifier "unaff_s2") ([ "[") (number_literal "0x82") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" (else "else") (if_statement "if (puVar4 == (undefined *)0x0) {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }\n                  else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" (if "if") (parenthesized_expression "(puVar4 == (undefined *)0x0)" (( "(") (binary_expression "puVar4 == (undefined *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);\n                  }" ({ "{") (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x35cf50))(iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35cf50))(iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35cf50))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cf50)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cf50)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cf50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cf50)" (( "(") (binary_expression "puVar19 + 0x35cf50" (identifier "puVar19") (+ "+") (number_literal "0x35cf50")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" (else "else") (compound_statement "{\n                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);\n                  }" ({ "{") (expression_statement "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);" (assignment_expression "piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d3b0))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d3b0)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d3b0)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d3b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d3b0)" (( "(") (binary_expression "puVar19 + 0x35d3b0" (identifier "puVar19") (+ "+") (number_literal "0x35d3b0")) () ")"))))) () ")")) (argument_list "(iVar1,*piVar2 + 1,1)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")"))))) (; ";")) (} "}")))))) (} "}")))) (} "}")))) (expression_statement "(**(code **)(puVar19 + 0x35d578))(unaff_s2);" (call_expression "(**(code **)(puVar19 + 0x35d578))(unaff_s2)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d578))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d578)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d578)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d578)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d578)" (( "(") (binary_expression "puVar19 + 0x35d578" (identifier "puVar19") (+ "+") (number_literal "0x35d578")) () ")"))))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" (identifier "puVar13") (= "=") (identifier "puVar4")) (; ";")) (} "}")))) (} "}")))) (expression_statement "unaff_s0 = puVar13;" (assignment_expression "unaff_s0 = puVar13" (identifier "unaff_s0") (= "=") (identifier "puVar13")) (; ";")) (if_statement "if (dStack_108c == *pdVar23) {\n            return piVar12;\n          }" (if "if") (parenthesized_expression "(dStack_108c == *pdVar23)" (( "(") (binary_expression "dStack_108c == *pdVar23" (identifier "dStack_108c") (== "==") (pointer_expression "*pdVar23" (* "*") (identifier "pdVar23"))) () ")")) (compound_statement "{\n            return piVar12;\n          }" ({ "{") (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (} "}"))) (goto_statement "goto LAB_0004c598;" (goto "goto") (statement_identifier "LAB_0004c598") (; ";")) (} "}"))) (goto_statement "goto LAB_0004c5c8;" (goto "goto") (statement_identifier "LAB_0004c5c8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" (else "else") (compound_statement "{\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);\nLAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();\nLAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);\nLAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;\n      (**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);\n    }" ({ "{") (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d598)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d598)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d598)" (( "(") (binary_expression "puVar19 + 0x35d598" (identifier "puVar19") (+ "+") (number_literal "0x35d598")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,\n                 *(int *)(puVar19 + 0x35c870) + 0x24c4)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xda0" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x983") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24c4")) () ")"))) (; ";")) (labeled_statement "LAB_0004c598:\n      (**(code **)(puVar19 + 0x35cff4))();" (statement_identifier "LAB_0004c598") (: ":") (expression_statement "(**(code **)(puVar19 + 0x35cff4))();" (call_expression "(**(code **)(puVar19 + 0x35cff4))()" (parenthesized_expression "(**(code **)(puVar19 + 0x35cff4))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35cff4)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35cff4)" (* "*") (cast_expression "(code **)(puVar19 + 0x35cff4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35cff4)" (( "(") (binary_expression "puVar19 + 0x35cff4" (identifier "puVar19") (+ "+") (number_literal "0x35cff4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_0004c5a4:\n      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" (statement_identifier "LAB_0004c5a4") (: ":") (expression_statement "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;" (assignment_expression "iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4" (identifier "iVar1") (= "=") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24c4"))) (; ";"))) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d598)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d598)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d598)" (( "(") (binary_expression "puVar19 + 0x35d598" (identifier "puVar19") (+ "+") (number_literal "0x35d598")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,\n                 iVar1)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e48" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1e48")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x987") (, ",") (identifier "iVar1") () ")"))) (; ";")) (labeled_statement "LAB_0004c5c8:\n      iVar1 = iVar1 + 0x24c4;" (statement_identifier "LAB_0004c5c8") (: ":") (expression_statement "iVar1 = iVar1 + 0x24c4;" (assignment_expression "iVar1 = iVar1 + 0x24c4" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 0x24c4" (identifier "iVar1") (+ "+") (number_literal "0x24c4"))) (; ";"))) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d598)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d598)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d598)" (( "(") (binary_expression "puVar19 + 0x35d598" (identifier "puVar19") (+ "+") (number_literal "0x35d598")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,\n                 iVar1)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1cac" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x989") (, ",") (identifier "iVar1") () ")"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4);" (call_expression "(**(code **)(puVar19 + 0x35d598))\n              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" (parenthesized_expression "(**(code **)(puVar19 + 0x35d598))" (( "(") (pointer_expression "**(code **)(puVar19 + 0x35d598)" (* "*") (pointer_expression "*(code **)(puVar19 + 0x35d598)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d598)" (( "(") (binary_expression "puVar19 + 0x35d598" (identifier "puVar19") (+ "+") (number_literal "0x35d598")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,\n               iVar1 + 0x24c4)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1e64" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1e64")) (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x988") (, ",") (binary_expression "iVar1 + 0x24c4" (identifier "iVar1") (+ "+") (number_literal "0x24c4")) () ")"))) (; ";")) (expression_statement "unaff_s1 = piVar12;" (assignment_expression "unaff_s1 = piVar12" (identifier "unaff_s1") (= "=") (identifier "piVar12")) (; ";")) (} "}"))) (expression_statement "pdVar18 = (dword *)0x982;" (assignment_expression "pdVar18 = (dword *)0x982" (identifier "pdVar18") (= "=") (cast_expression "(dword *)0x982" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x982"))) (; ";")) (expression_statement "pcVar26 = *(code **)(puVar19 + 0x35d598);" (assignment_expression "pcVar26 = *(code **)(puVar19 + 0x35d598)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar19 + 0x35d598)" (* "*") (cast_expression "(code **)(puVar19 + 0x35d598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + 0x35d598)" (( "(") (binary_expression "puVar19 + 0x35d598" (identifier "puVar19") (+ "+") (number_literal "0x35d598")) () ")"))))) (; ";")) (expression_statement "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);" (assignment_expression "piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" (identifier "piVar12") (= "=") (cast_expression "(int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0x24c4)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x24c4" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x24c4")) () ")")))) (; ";")) (expression_statement "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);" (assignment_expression "puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" (identifier "puVar4") (= "=") (cast_expression "(undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar19 + 0x35c870) + 0xd78)" (( "(") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0xd78" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0xd78")) () ")")))) (; ";")) (expression_statement "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);" (call_expression "(*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8)" (( "(") (identifier "puVar4") (, ",") (binary_expression "*(int *)(puVar19 + 0x35c870) + 0x1ad8" (pointer_expression "*(int *)(puVar19 + 0x35c870)" (* "*") (cast_expression "(int *)(puVar19 + 0x35c870)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0x35c870)" (( "(") (binary_expression "puVar19 + 0x35c870" (identifier "puVar19") (+ "+") (number_literal "0x35c870")) () ")")))) (+ "+") (number_literal "0x1ad8")) () ")"))) (; ";")) (if_statement "if (puVar4 == (undefined *)0x0) {\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }\n  else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(puVar4 == (undefined *)0x0)" (( "(") (binary_expression "puVar4 == (undefined *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004ca88:\n    puVar4 = unaff_s0;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\nLAB_0004caac:\n    pdVar18 = pdVar23;\n    piVar12 = param_4;\n    (**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n  }" ({ "{") (labeled_statement "LAB_0004ca88:\n    puVar4 = unaff_s0;" (statement_identifier "LAB_0004ca88") (: ":") (expression_statement "puVar4 = unaff_s0;" (assignment_expression "puVar4 = unaff_s0" (identifier "puVar4") (= "=") (identifier "unaff_s0")) (; ";"))) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cfdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cfdc)" (( "(") (binary_expression "pcVar26 + 0x35cfdc" (identifier "pcVar26") (+ "+") (number_literal "0x35cfdc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x13e4") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x2280")) () ")"))) (; ";")) (labeled_statement "LAB_0004caac:\n    pdVar18 = pdVar23;" (statement_identifier "LAB_0004caac") (: ":") (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" (identifier "pdVar18") (= "=") (identifier "pdVar23")) (; ";"))) (expression_statement "piVar12 = param_4;" (assignment_expression "piVar12 = param_4" (identifier "piVar12") (= "=") (identifier "param_4")) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cfdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cfdc)" (( "(") (binary_expression "pcVar26 + 0x35cfdc" (identifier "pcVar26") (+ "+") (number_literal "0x35cfdc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,\n               *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2bc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35c2bc)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2bc)" (( "(") (binary_expression "pcVar26 + 0x35c2bc" (identifier "pcVar26") (+ "+") (number_literal "0x35c2bc")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x13e5") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x2280")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;\n    if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }\n    unaff_s1 = *(int **)(puVar4 + 0x3348);\n    if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }\n    uVar5 = unaff_s1[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;" (if "if") (parenthesized_expression "(*(int *)(puVar4 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar4 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar4 + 0x336c)" (* "*") (cast_expression "(int *)(puVar4 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x336c)" (( "(") (binary_expression "puVar4 + 0x336c" (identifier "puVar4") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0004caac;" (goto "goto") (statement_identifier "LAB_0004caac") (; ";"))) (if_statement "if (*(int *)(puVar4 + 0x3350) != 0) {\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar4 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(puVar4 + 0x3350) != 0" (pointer_expression "*(int *)(puVar4 + 0x3350)" (* "*") (cast_expression "(int *)(puVar4 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x3350)" (( "(") (binary_expression "puVar4 + 0x3350" (identifier "puVar4") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7);" (call_expression "(**(code **)(pcVar26 + 0x35cbb4))\n                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cbb4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cbb4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cbb4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cbb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cbb4)" (( "(") (binary_expression "pcVar26 + 0x35cbb4" (identifier "pcVar26") (+ "+") (number_literal "0x35cbb4")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,\n                 0x13e7)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2270" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x2270")) (, ",") (number_literal "0x13e7") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s1 = *(int **)(puVar4 + 0x3348);" (assignment_expression "unaff_s1 = *(int **)(puVar4 + 0x3348)" (identifier "unaff_s1") (= "=") (pointer_expression "*(int **)(puVar4 + 0x3348)" (* "*") (cast_expression "(int **)(puVar4 + 0x3348)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar4 + 0x3348)" (( "(") (binary_expression "puVar4 + 0x3348" (identifier "puVar4") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (if_statement "if (unaff_s1 == (int *)0x0) {\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" (if "if") (parenthesized_expression "(unaff_s1 == (int *)0x0)" (( "(") (binary_expression "unaff_s1 == (int *)0x0" (identifier "unaff_s1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);\n      unaff_s0 = puVar4;\n      param_4 = piVar12;\n      pdVar23 = pdVar18;\n      goto LAB_0004ca88;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);" (call_expression "(**(code **)(pcVar26 + 0x35cfdc))\n                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cfdc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cfdc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cfdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cfdc)" (( "(") (binary_expression "pcVar26 + 0x35cfdc" (identifier "pcVar26") (+ "+") (number_literal "0x35cfdc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,\n                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x13e8") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x2280" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x2280")) () ")"))) (; ";")) (expression_statement "unaff_s0 = puVar4;" (assignment_expression "unaff_s0 = puVar4" (identifier "unaff_s0") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "param_4 = piVar12;" (assignment_expression "param_4 = piVar12" (identifier "param_4") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" (identifier "pdVar23") (= "=") (identifier "pdVar18")) (; ";")) (goto_statement "goto LAB_0004ca88;" (goto "goto") (statement_identifier "LAB_0004ca88") (; ";")) (} "}"))) (expression_statement "uVar5 = unaff_s1[0x10];" (assignment_expression "uVar5 = unaff_s1[0x10]" (identifier "uVar5") (= "=") (subscript_expression "unaff_s1[0x10]" (identifier "unaff_s1") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (uVar5 != 0) {\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" (if "if") (parenthesized_expression "(uVar5 != 0)" (( "(") (binary_expression "uVar5 != 0" (identifier "uVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }\n      return (int *)0x0;\n    }" ({ "{") (if_statement "if (uVar5 < 7) {\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }\n      else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(uVar5 < 7)" (( "(") (binary_expression "uVar5 < 7" (identifier "uVar5") (< "<") (number_literal "7")) () ")")) (compound_statement "{\n        if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }\n      }" ({ "{") (if_statement "if (uVar5 < 2) {\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" (if "if") (parenthesized_expression "(uVar5 < 2)" (( "(") (binary_expression "uVar5 < 2" (identifier "uVar5") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          if (uVar5 != 1) {\n            return (int *)0x1;\n          }\n          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }\n        }" ({ "{") (if_statement "if (uVar5 != 1) {\n            return (int *)0x1;\n          }" (if "if") (parenthesized_expression "(uVar5 != 1)" (( "(") (binary_expression "uVar5 != 1" (identifier "uVar5") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            return (int *)0x1;\n          }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (identifier "uVar27") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (if_statement "if (-1 < (longlong)uVar27) {\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" (if "if") (parenthesized_expression "(-1 < (longlong)uVar27)" (( "(") (binary_expression "-1 < (longlong)uVar27" (number_literal "-1") (< "<") (cast_expression "(longlong)uVar27" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "uVar27"))) () ")")) (compound_statement "{\n            if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }\n            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }\n            return (int *)0x1;\n          }" ({ "{") (if_statement "if (CONCAT44(pdVar18,piVar12) <= uVar27) {\n              return (int *)0x1;\n            }" (if "if") (parenthesized_expression "(CONCAT44(pdVar18,piVar12) <= uVar27)" (( "(") (binary_expression "CONCAT44(pdVar18,piVar12) <= uVar27" (call_expression "CONCAT44(pdVar18,piVar12)" (identifier "CONCAT44") (argument_list "(pdVar18,piVar12)" (( "(") (identifier "pdVar18") (, ",") (identifier "piVar12") () ")"))) (<= "<=") (identifier "uVar27")) () ")")) (compound_statement "{\n              return (int *)0x1;\n            }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (if_statement "if (-1 < iVar1) {\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" (if "if") (parenthesized_expression "(-1 < iVar1)" (( "(") (binary_expression "-1 < iVar1" (number_literal "-1") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n              iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n              if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }\n              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n              return (int *)(uint)(iVar1 == 1);\n            }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cb28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cb28)" (( "(") (binary_expression "pcVar26 + 0x35cb28" (identifier "pcVar26") (+ "+") (number_literal "0x35cb28")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b8)" (( "(") (binary_expression "pcVar26 + 0x35c2b8" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b8")) () ")")))) (+ "+") (number_literal "-0x3688")) (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (subscript_expression "unaff_s1[0x11]" (identifier "unaff_s1") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (unaff_s1[0xd] != 0) {\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" (if "if") (parenthesized_expression "(unaff_s1[0xd] != 0)" (( "(") (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" (identifier "unaff_s1") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n                if (iVar6 == -1) {\n                  return (int *)0x0;\n                }\n                (**(code **)(pcVar26 + 0x35ca14))(iVar6);\n              }" ({ "{") (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (identifier "iVar6") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d3a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d3a0)" (( "(") (binary_expression "pcVar26 + 0x35d3a0" (identifier "pcVar26") (+ "+") (number_literal "0x35d3a0")) () ")"))))) () ")")) (argument_list "(unaff_s1[0x11])" (( "(") (subscript_expression "unaff_s1[0x11]" (identifier "unaff_s1") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar6 == -1) {\n                  return (int *)0x0;\n                }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                  return (int *)0x0;\n                }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))(iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))(iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ca14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ca14)" (( "(") (binary_expression "pcVar26 + 0x35ca14" (identifier "pcVar26") (+ "+") (number_literal "0x35ca14")) () ")"))))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (return_statement "return (int *)(uint)(iVar1 == 1);" (return "return") (cast_expression "(int *)(uint)(iVar1 == 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(iVar1 == 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" (else "else") (compound_statement "{\n        if (uVar5 != 7) {\n          return (int *)0x1;\n        }\n        if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if (uVar5 != 7) {\n          return (int *)0x1;\n        }" (if "if") (parenthesized_expression "(uVar5 != 7)" (( "(") (binary_expression "uVar5 != 7" (identifier "uVar5") (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n          return (int *)0x1;\n        }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (if_statement "if (pdVar18 == (dword *)0x0) {\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(pdVar18 == (dword *)0x0)" (( "(") (binary_expression "pdVar18 == (dword *)0x0" (identifier "pdVar18") (== "==") (cast_expression "(dword *)0x0" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }\n          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);\n          (**(code **)(pcVar26 + 0x35d0e0))(5);\n          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n          if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }\n        }" ({ "{") (if_statement "if (unaff_s1[4] == 0) {\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" (if "if") (parenthesized_expression "(unaff_s1[4] == 0)" (( "(") (binary_expression "unaff_s1[4] == 0" (subscript_expression "unaff_s1[4]" (identifier "unaff_s1") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);\n            unaff_s1[1] = (int)piVar12;\n            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);\n            unaff_s1[0x3c] = iVar1;\n            FUN_00044818(puVar4);\n            if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }\n            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);\n            return (int *)0x0;\n          }" ({ "{") (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cdf4);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cdf4)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35cdf4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cdf4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cdf4)" (( "(") (binary_expression "pcVar26 + 0x35cdf4" (identifier "pcVar26") (+ "+") (number_literal "0x35cdf4")) () ")"))))) (; ";")) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" (identifier "unaff_s1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) (; ";")) (expression_statement "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);" (assignment_expression "iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" (identifier "iVar1") (= "=") (call_expression "(*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1)" (( "(") (subscript_expression "unaff_s1[0x3c]" (identifier "unaff_s1") ([ "[") (number_literal "0x3c") (] "]")) (, ",") (cast_expression "(undefined1 *)((int)piVar12 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 1)" (( "(") (binary_expression "(int)piVar12 + 1" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "1")) () ")"))) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" (identifier "unaff_s1") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" (identifier "FUN_00044818") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (if_statement "if (unaff_s1[0x3c] != 0) {\n              return (int *)0x1;\n            }" (if "if") (parenthesized_expression "(unaff_s1[0x3c] != 0)" (( "(") (binary_expression "unaff_s1[0x3c] != 0" (subscript_expression "unaff_s1[0x3c]" (identifier "unaff_s1") ([ "[") (number_literal "0x3c") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              return (int *)0x1;\n            }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35d140))(unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d140))(unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d140))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d140)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d140)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d140)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d140)" (( "(") (binary_expression "pcVar26 + 0x35d140" (identifier "pcVar26") (+ "+") (number_literal "0x35d140")) () ")"))))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);" (call_expression "(**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d09c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d09c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d09c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d09c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d09c)" (( "(") (binary_expression "pcVar26 + 0x35d09c" (identifier "pcVar26") (+ "+") (number_literal "0x35d09c")) () ")"))))) () ")")) (argument_list "(unaff_s1[0x3c],*unaff_s1)" (( "(") (subscript_expression "unaff_s1[0x3c]" (identifier "unaff_s1") ([ "[") (number_literal "0x3c") (] "]")) (, ",") (pointer_expression "*unaff_s1" (* "*") (identifier "unaff_s1")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35d0e0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d0e0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d0e0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d0e0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d0e0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d0e0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d0e0)" (( "(") (binary_expression "pcVar26 + 0x35d0e0" (identifier "pcVar26") (+ "+") (number_literal "0x35d0e0")) () ")"))))) () ")")) (argument_list "(5)" (( "(") (number_literal "5") () ")"))) (; ";")) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (identifier "lVar28") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (if_statement "if (-1 < lVar28) {\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" (if "if") (parenthesized_expression "(-1 < lVar28)" (( "(") (binary_expression "-1 < lVar28" (number_literal "-1") (< "<") (identifier "lVar28")) () ")")) (compound_statement "{\n            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }\n            if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }\n            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);\n            if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }\n            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);\n            if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }\n          }" ({ "{") (if_statement "if ((int)((ulonglong)lVar28 >> 0x20) != 0) {\n              return (int *)0x1;\n            }" (if "if") (parenthesized_expression "((int)((ulonglong)lVar28 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)lVar28 >> 0x20) != 0" (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar28")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              return (int *)0x1;\n            }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (if_statement "if (piVar12 <= (int *)lVar28) {\n              return (int *)0x1;\n            }" (if "if") (parenthesized_expression "(piVar12 <= (int *)lVar28)" (( "(") (binary_expression "piVar12 <= (int *)lVar28" (identifier "piVar12") (<= "<=") (cast_expression "(int *)lVar28" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "lVar28"))) () ")")) (compound_statement "{\n              return (int *)0x1;\n            }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (assignment_expression "lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (identifier "lVar28") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35cb28))\n                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35cb28))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35cb28)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35cb28)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cb28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cb28)" (( "(") (binary_expression "pcVar26 + 0x35cb28" (identifier "pcVar26") (+ "+") (number_literal "0x35cb28")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11])" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b8) + -0x3688" (pointer_expression "*(int *)(pcVar26 + 0x35c2b8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b8)" (( "(") (binary_expression "pcVar26 + 0x35c2b8" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b8")) () ")")))) (+ "+") (number_literal "-0x3688")) (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (subscript_expression "unaff_s1[0x11]" (identifier "unaff_s1") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (unaff_s1[0xd] != 0) {\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" (if "if") (parenthesized_expression "(unaff_s1[0xd] != 0)" (( "(") (binary_expression "unaff_s1[0xd] != 0" (subscript_expression "unaff_s1[0xd]" (identifier "unaff_s1") ([ "[") (number_literal "0xd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              if (iVar6 == -1) {\n                return (int *)0x0;\n              }\n              if (lVar28 < 0) {\n                return (int *)0x0;\n              }\n              (**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);\n            }" ({ "{") (expression_statement "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (identifier "iVar6") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d3a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d3a0)" (( "(") (binary_expression "pcVar26 + 0x35d3a0" (identifier "pcVar26") (+ "+") (number_literal "0x35d3a0")) () ")"))))) () ")")) (argument_list "(unaff_s1[0x11])" (( "(") (subscript_expression "unaff_s1[0x11]" (identifier "unaff_s1") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar6 == -1) {\n                return (int *)0x0;\n              }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                return (int *)0x0;\n              }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if (lVar28 < 0) {\n                return (int *)0x0;\n              }" (if "if") (parenthesized_expression "(lVar28 < 0)" (( "(") (binary_expression "lVar28 < 0" (identifier "lVar28") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                return (int *)0x0;\n              }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);" (call_expression "(**(code **)(pcVar26 + 0x35ca14))\n                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ca14))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ca14)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ca14)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ca14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ca14)" (( "(") (binary_expression "pcVar26 + 0x35ca14" (identifier "pcVar26") (+ "+") (number_literal "0x35ca14")) () ")"))))) () ")")) (argument_list "(iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),\n                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28)" (( "(") (identifier "iVar6") (, ",") (binary_expression "piVar12 < (int *)((int)piVar12 - (int)lVar28)" (identifier "piVar12") (< "<") (cast_expression "(int *)((int)piVar12 - (int)lVar28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 - (int)lVar28)" (( "(") (binary_expression "(int)piVar12 - (int)lVar28" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (- "-") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28"))) () ")")))) (, ",") (cast_expression "(int)((ulonglong)lVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar28 >> 0x20" (cast_expression "(ulonglong)lVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar28")) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (cast_expression "(int)lVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar28")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35ccfc))(puVar4);" (call_expression "(**(code **)(pcVar26 + 0x35ccfc))(puVar4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ccfc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ccfc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ccfc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ccfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ccfc)" (( "(") (binary_expression "pcVar26 + 0x35ccfc" (identifier "pcVar26") (+ "+") (number_literal "0x35ccfc")) () ")"))))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (if_statement "if (iVar1 == 1) {\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n              (**(code **)(pcVar26 + 0x35d1f0))(5);\n              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);\n              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);\n              unaff_s1[0x3c] = iVar1;\n              unaff_s1[1] = (int)piVar12;\n              *unaff_s1 = (int)piVar12;\n              FUN_00044818(puVar4);\n              return (int *)0x1;\n            }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35d1f0))(5);" (call_expression "(**(code **)(pcVar26 + 0x35d1f0))(5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d1f0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d1f0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d1f0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d1f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d1f0)" (( "(") (binary_expression "pcVar26 + 0x35d1f0" (identifier "pcVar26") (+ "+") (number_literal "0x35d1f0")) () ")"))))) () ")")) (argument_list "(5)" (( "(") (number_literal "5") () ")"))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d3a0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d3a0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d3a0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d3a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d3a0)" (( "(") (binary_expression "pcVar26 + 0x35d3a0" (identifier "pcVar26") (+ "+") (number_literal "0x35d3a0")) () ")"))))) () ")")) (argument_list "(unaff_s1[0x11])" (( "(") (subscript_expression "unaff_s1[0x11]" (identifier "unaff_s1") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35d160))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35d160)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35d160)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35d160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35d160)" (( "(") (binary_expression "pcVar26 + 0x35d160" (identifier "pcVar26") (+ "+") (number_literal "0x35d160")) () ")"))))) () ")")) (argument_list "(uVar3,1,0,0)" (( "(") (identifier "uVar3") (, ",") (number_literal "1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "unaff_s1[0x3c] = iVar1;" (assignment_expression "unaff_s1[0x3c] = iVar1" (subscript_expression "unaff_s1[0x3c]" (identifier "unaff_s1") ([ "[") (number_literal "0x3c") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "unaff_s1[1] = (int)piVar12;" (assignment_expression "unaff_s1[1] = (int)piVar12" (subscript_expression "unaff_s1[1]" (identifier "unaff_s1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) (; ";")) (expression_statement "*unaff_s1 = (int)piVar12;" (assignment_expression "*unaff_s1 = (int)piVar12" (pointer_expression "*unaff_s1" (* "*") (identifier "unaff_s1")) (= "=") (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12"))) (; ";")) (expression_statement "FUN_00044818(puVar4);" (call_expression "FUN_00044818(puVar4)" (identifier "FUN_00044818") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "pdVar23 = (dword *)&DAT_000013e9;" (assignment_expression "pdVar23 = (dword *)&DAT_000013e9" (identifier "pdVar23") (= "=") (cast_expression "(dword *)&DAT_000013e9" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000013e9" (& "&") (identifier "DAT_000013e9")))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35cfdc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35cfdc)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35cfdc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35cfdc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35cfdc)" (( "(") (binary_expression "pcVar26 + 0x35cfdc" (identifier "pcVar26") (+ "+") (number_literal "0x35cfdc")) () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1ad8")) () ")")))) (; ";")) (expression_statement "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);" (assignment_expression "piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35c2b4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35c2b4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35c2b4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35c2b4)" (( "(") (binary_expression "pcVar26 + 0x35c2b4" (identifier "pcVar26") (+ "+") (number_literal "0x35c2b4")) () ")")))) (+ "+") (number_literal "0x1b10")) () ")")))) (; ";")) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }\n  else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);\n    piVar2 = unaff_s1;\nLAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;\n    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);\nLAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);\nLAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);\n  }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35cb14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35cb14)" (( "(") (binary_expression "pcVar24 + 0x35cb14" (identifier "pcVar24") (+ "+") (number_literal "0x35cb14")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x21d8"))) (; ";")) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,\n               iVar1)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x15ed") (, ",") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "piVar2 = unaff_s1;" (assignment_expression "piVar2 = unaff_s1" (identifier "piVar2") (= "=") (identifier "unaff_s1")) (; ";")) (labeled_statement "LAB_0004cf00:\n    iVar1 = iVar1 + 0x21d8;" (statement_identifier "LAB_0004cf00") (: ":") (expression_statement "iVar1 = iVar1 + 0x21d8;" (assignment_expression "iVar1 = iVar1 + 0x21d8" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 0x21d8" (identifier "iVar1") (+ "+") (number_literal "0x21d8"))) (; ";"))) (expression_statement "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1);" (call_expression "(*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,\n               iVar1)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x15f0") (, ",") (identifier "iVar1") () ")"))) (; ";")) (labeled_statement "LAB_0004cf1c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" (statement_identifier "LAB_0004cf1c") (: ":") (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35cb14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35cb14)" (( "(") (binary_expression "pcVar24 + 0x35cb14" (identifier "pcVar24") (+ "+") (number_literal "0x35cb14")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,\n               iVar1 + 0x21d8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x15ef") (, ",") (binary_expression "iVar1 + 0x21d8" (identifier "iVar1") (+ "+") (number_literal "0x21d8")) () ")"))) (; ";"))) (labeled_statement "LAB_0004cf3c:\n    (**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" (statement_identifier "LAB_0004cf3c") (: ":") (expression_statement "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);" (call_expression "(**(code **)(pcVar24 + 0x35cb14))\n              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35cb14))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35cb14)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35cb14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35cb14)" (( "(") (binary_expression "pcVar24 + 0x35cb14" (identifier "pcVar24") (+ "+") (number_literal "0x35cb14")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,\n               *(int *)(pcVar24 + 0x35bdec) + 0x21d8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdf4) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35bdf4)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdf4)" (( "(") (binary_expression "pcVar24 + 0x35bdf4" (identifier "pcVar24") (+ "+") (number_literal "0x35bdf4")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x15ee") (, ",") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x21d8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x21d8")) () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;\n    puVar4 = (undefined *)piVar2[0xcd2];\n    iVar1 = *(int *)(pcVar24 + 0x35bdec);\n    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;\n    uVar5 = *(uint *)(puVar4 + 0x40);\n    pcVar26 = *(code **)(pcVar24 + 0x35cb14);\n    if (uVar5 == 0) goto LAB_0004cf00;\n    if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }\n    unaff_s2 = piVar11;\n    pdVar18 = pdVar23;\n    if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }\n  }" ({ "{") (if_statement "if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;" (if "if") (parenthesized_expression "(piVar2[0xcdb] != -0x54535255)" (( "(") (binary_expression "piVar2[0xcdb] != -0x54535255" (subscript_expression "piVar2[0xcdb]" (identifier "piVar2") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0004cf3c;" (goto "goto") (statement_identifier "LAB_0004cf3c") (; ";"))) (expression_statement "puVar4 = (undefined *)piVar2[0xcd2];" (assignment_expression "puVar4 = (undefined *)piVar2[0xcd2]" (identifier "puVar4") (= "=") (cast_expression "(undefined *)piVar2[0xcd2]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar2[0xcd2]" (identifier "piVar2") ([ "[") (number_literal "0xcd2") (] "]")))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar24 + 0x35bdec);" (assignment_expression "iVar1 = *(int *)(pcVar24 + 0x35bdec)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")"))))) (; ";")) (if_statement "if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;" (if "if") (parenthesized_expression "(puVar4 == (undefined *)0x0)" (( "(") (binary_expression "puVar4 == (undefined *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004cf1c;" (goto "goto") (statement_identifier "LAB_0004cf1c") (; ";"))) (expression_statement "uVar5 = *(uint *)(puVar4 + 0x40);" (assignment_expression "uVar5 = *(uint *)(puVar4 + 0x40)" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)(puVar4 + 0x40)" (* "*") (cast_expression "(uint *)(puVar4 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 0x40)" (( "(") (binary_expression "puVar4 + 0x40" (identifier "puVar4") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35cb14)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35cb14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35cb14)" (( "(") (binary_expression "pcVar24 + 0x35cb14" (identifier "pcVar24") (+ "+") (number_literal "0x35cb14")) () ")"))))) (; ";")) (if_statement "if (uVar5 == 0) goto LAB_0004cf00;" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004cf00;" (goto "goto") (statement_identifier "LAB_0004cf00") (; ";"))) (if_statement "if (piVar11 == (int *)0x0) {\n      return (int *)0x0;\n    }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return (int *)0x0;\n    }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "unaff_s2 = piVar11;" (assignment_expression "unaff_s2 = piVar11" (identifier "unaff_s2") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "pdVar18 = pdVar23;" (assignment_expression "pdVar18 = pdVar23" (identifier "pdVar18") (= "=") (identifier "pdVar23")) (; ";")) (if_statement "if (pdVar23 != (dword *)0x0) {\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" (if "if") (parenthesized_expression "(pdVar23 != (dword *)0x0)" (( "(") (binary_expression "pdVar23 != (dword *)0x0" (identifier "pdVar23") (!= "!=") (cast_expression "(dword *)0x0" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }\n      return (int *)0x0;\n    }" ({ "{") (if_statement "if (uVar5 < 9) {\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" (if "if") (parenthesized_expression "(uVar5 < 9)" (( "(") (binary_expression "uVar5 < 9" (identifier "uVar5") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n                    \n                    \n        piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();\n        return piVar12;\n      }" ({ "{") (expression_statement "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();" (assignment_expression "piVar12 = (int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" (identifier "piVar12") (= "=") (cast_expression "(int *)(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))()" (parenthesized_expression "(*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))" (( "(") (pointer_expression "*(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" (* "*") (parenthesized_expression "(pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4))" (( "(") (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc +\n                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (binary_expression "pcVar24 +\n                           (int)&DWORD_00363dbc" (identifier "pcVar24") (+ "+") (cast_expression "(int)&DWORD_00363dbc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&DWORD_00363dbc" (& "&") (identifier "DWORD_00363dbc")))) (+ "+") (pointer_expression "*(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (* "*") (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4" (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x20b4" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x20b4")) (+ "+") (binary_expression "uVar5 * 4" (identifier "uVar5") (* "*") (number_literal "4"))) () ")"))))) () ")"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (} "}"))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar3 = 0x15f3;" (assignment_expression "uVar3 = 0x15f3" (identifier "uVar3") (= "=") (number_literal "0x15f3")) (; ";")) (expression_statement "pcVar25 = *(code **)(pcVar24 + 0x35cb14);" (assignment_expression "pcVar25 = *(code **)(pcVar24 + 0x35cb14)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35cb14)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35cb14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35cb14)" (( "(") (binary_expression "pcVar24 + 0x35cb14" (identifier "pcVar24") (+ "+") (number_literal "0x35cb14")) () ")"))))) (; ";")) (expression_statement "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);" (assignment_expression "piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" (identifier "piVar14") (= "=") (cast_expression "(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1ad8")) () ")")))) (; ";")) (expression_statement "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);" (assignment_expression "puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35bdec) + 0x1fa8" (pointer_expression "*(int *)(pcVar24 + 0x35bdec)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35bdec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35bdec)" (( "(") (binary_expression "pcVar24 + 0x35bdec" (identifier "pcVar24") (+ "+") (number_literal "0x35bdec")) () ")")))) (+ "+") (number_literal "0x1fa8")) () ")")))) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar26 = pcVar25 + 0x363930;" (assignment_expression "pcVar26 = pcVar25 + 0x363930" (identifier "pcVar26") (= "=") (binary_expression "pcVar25 + 0x363930" (identifier "pcVar25") (+ "+") (number_literal "0x363930"))) (; ";")) (expression_statement "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);" (assignment_expression "piStack_3224 = *(int **)(pcVar25 + 0x35c2b0)" (identifier "piStack_3224") (= "=") (pointer_expression "*(int **)(pcVar25 + 0x35c2b0)" (* "*") (cast_expression "(int **)(pcVar25 + 0x35c2b0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x35c2b0)" (( "(") (binary_expression "pcVar25 + 0x35c2b0" (identifier "pcVar25") (+ "+") (number_literal "0x35c2b0")) () ")"))))) (; ";")) (expression_statement "iStack_316c = *piStack_3224;" (assignment_expression "iStack_316c = *piStack_3224" (identifier "iStack_316c") (= "=") (pointer_expression "*piStack_3224" (* "*") (identifier "piStack_3224"))) (; ";")) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" (identifier "piVar11") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "pcStack_3230 = pcVar26;" (assignment_expression "pcStack_3230 = pcVar26" (identifier "pcStack_3230") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "uStack_3220 = uVar3;" (assignment_expression "uStack_3220 = uVar3" (identifier "uStack_3220") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puStack_3168 = puVar4;" (assignment_expression "puStack_3168 = puVar4" (identifier "puStack_3168") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "piStack_3164 = piVar2;" (assignment_expression "piStack_3164 = piVar2" (identifier "piStack_3164") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "piStack_3160 = unaff_s2;" (assignment_expression "piStack_3160 = unaff_s2" (identifier "piStack_3160") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "piStack_315c = piVar12;" (assignment_expression "piStack_315c = piVar12" (identifier "piStack_315c") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pdStack_3158 = pdVar18;" (assignment_expression "pdStack_3158 = pdVar18" (identifier "pdStack_3158") (= "=") (identifier "pdVar18")) (; ";")) (expression_statement "piStack_3154 = param_3;" (assignment_expression "piStack_3154 = param_3" (identifier "piStack_3154") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piStack_3150 = unaff_s6;" (assignment_expression "piStack_3150 = unaff_s6" (identifier "piStack_3150") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_314c = unaff_s7;" (assignment_expression "puStack_314c = unaff_s7" (identifier "puStack_314c") (= "=") (identifier "unaff_s7")) (; ";")) (if_statement "if (puVar13 == (undefined *)0x0) {\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }\n  else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" (if "if") (parenthesized_expression "(puVar13 == (undefined *)0x0)" (( "(") (binary_expression "puVar13 == (undefined *)0x0" (identifier "puVar13") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004d5d8:\n    piVar14 = unaff_s2;\n    puVar13 = puVar4;\n    pdVar23 = (dword *)0x664;\n    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;\n    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);\n    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;\n    (**(code **)(pcVar26 + -0x72a8))();\n  }" ({ "{") (labeled_statement "LAB_0004d5d8:\n    piVar14 = unaff_s2;" (statement_identifier "LAB_0004d5d8") (: ":") (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" (identifier "piVar14") (= "=") (identifier "unaff_s2")) (; ";"))) (expression_statement "puVar13 = puVar4;" (assignment_expression "puVar13 = puVar4" (identifier "puVar13") (= "=") (identifier "puVar4")) (; ";")) (expression_statement "pdVar23 = (dword *)0x664;" (assignment_expression "pdVar23 = (dword *)0x664" (identifier "pdVar23") (= "=") (cast_expression "(dword *)0x664" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x664"))) (; ";")) (expression_statement "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;" (assignment_expression "uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c" (identifier "uVar5") (= "=") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x260c"))) (; ";")) (expression_statement "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);" (assignment_expression "piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" (identifier "piVar16") (= "=") (cast_expression "(int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8)" (( "(") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ad8")) () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;" (assignment_expression "iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x37b0" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fc8)" (( "(") (binary_expression "pcVar26 + -0x7fc8" (identifier "pcVar26") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x37b0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + -0x72a8))();" (call_expression "(**(code **)(pcVar26 + -0x72a8))()" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar26 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + -0x72a8)" (( "(") (binary_expression "pcVar26 + -0x72a8" (identifier "pcVar26") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }\n    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;\n    uVar5 = 0x667;\n    piVar12 = *(int **)(pcVar25 + 0x35b960);\n    pdVar18 = *(dword **)(pcVar25 + 0x35b960);\n    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;\n    piStack_3244 = piVar14;\n    pdStack_321c = pdVar18;\n    piStack_3218 = piVar12;\n    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);\n    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);\n    if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }\nLAB_0004d2c8:\n    iVar1 = iStack_316c;\n    pcVar26 = pcStack_3230;\n    if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(puVar13 + 0x336c) != -0x54535255) {\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar13 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar13 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar13 + 0x336c)" (* "*") (cast_expression "(int *)(puVar13 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x336c)" (( "(") (binary_expression "puVar13 + 0x336c" (identifier "puVar13") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\nLAB_0004d590:\n      piVar14 = unaff_s2;\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\nLAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);\n      puVar4 = puVar13;\n      piVar11 = piVar2;\n      unaff_s2 = piVar14;\n      goto LAB_0004d5d8;\n    }" ({ "{") (labeled_statement "LAB_0004d590:\n      piVar14 = unaff_s2;" (statement_identifier "LAB_0004d590") (: ":") (expression_statement "piVar14 = unaff_s2;" (assignment_expression "piVar14 = unaff_s2" (identifier "piVar14") (= "=") (identifier "unaff_s2")) (; ";"))) (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar26 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + -0x72a8)" (( "(") (binary_expression "pcVar26 + -0x72a8" (identifier "pcVar26") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (( "(") (binary_expression "*(int *)(pcVar26 + -0x7fc8) + -0x3784" (pointer_expression "*(int *)(pcVar26 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fc8)" (( "(") (binary_expression "pcVar26 + -0x7fc8" (identifier "pcVar26") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x665") (, ",") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x260c")) () ")"))) (; ";")) (labeled_statement "LAB_0004d5b4:\n      (**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (statement_identifier "LAB_0004d5b4") (: ":") (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar26 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + -0x72a8)" (( "(") (binary_expression "pcVar26 + -0x72a8" (identifier "pcVar26") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,\n                 *(int *)(pcVar26 + -0x7fd0) + 0x260c)" (( "(") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1b68" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1b68")) (, ",") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x666") (, ",") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x260c" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x260c")) () ")"))) (; ";"))) (expression_statement "puVar4 = puVar13;" (assignment_expression "puVar4 = puVar13" (identifier "puVar4") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "piVar11 = piVar2;" (assignment_expression "piVar11 = piVar2" (identifier "piVar11") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" (identifier "unaff_s2") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_0004d5d8;" (goto "goto") (statement_identifier "LAB_0004d5d8") (; ";")) (} "}"))) (if_statement "if (piVar14 == (int *)0x0) goto LAB_0004d5b4;" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004d5b4;" (goto "goto") (statement_identifier "LAB_0004d5b4") (; ";"))) (expression_statement "uVar5 = 0x667;" (assignment_expression "uVar5 = 0x667" (identifier "uVar5") (= "=") (number_literal "0x667")) (; ";")) (expression_statement "piVar12 = *(int **)(pcVar25 + 0x35b960);" (assignment_expression "piVar12 = *(int **)(pcVar25 + 0x35b960)" (identifier "piVar12") (= "=") (pointer_expression "*(int **)(pcVar25 + 0x35b960)" (* "*") (cast_expression "(int **)(pcVar25 + 0x35b960)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x35b960)" (( "(") (binary_expression "pcVar25 + 0x35b960" (identifier "pcVar25") (+ "+") (number_literal "0x35b960")) () ")"))))) (; ";")) (expression_statement "pdVar18 = *(dword **)(pcVar25 + 0x35b960);" (assignment_expression "pdVar18 = *(dword **)(pcVar25 + 0x35b960)" (identifier "pdVar18") (= "=") (pointer_expression "*(dword **)(pcVar25 + 0x35b960)" (* "*") (cast_expression "(dword **)(pcVar25 + 0x35b960)" (( "(") (type_descriptor "dword **" (type_identifier "dword") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x35b960)" (( "(") (binary_expression "pcVar25 + 0x35b960" (identifier "pcVar25") (+ "+") (number_literal "0x35b960")) () ")"))))) (; ";")) (expression_statement "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;" (assignment_expression "iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac" (identifier "iStack_3248") (= "=") (binary_expression "*(int *)(pcVar25 + 0x35b964) + -0x62ac" (pointer_expression "*(int *)(pcVar25 + 0x35b964)" (* "*") (cast_expression "(int *)(pcVar25 + 0x35b964)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x35b964)" (( "(") (binary_expression "pcVar25 + 0x35b964" (identifier "pcVar25") (+ "+") (number_literal "0x35b964")) () ")")))) (+ "+") (number_literal "-0x62ac"))) (; ";")) (expression_statement "piStack_3244 = piVar14;" (assignment_expression "piStack_3244 = piVar14" (identifier "piStack_3244") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "pdStack_321c = pdVar18;" (assignment_expression "pdStack_321c = pdVar18" (identifier "pdStack_321c") (= "=") (identifier "pdVar18")) (; ";")) (expression_statement "piStack_3218 = piVar12;" (assignment_expression "piStack_3218 = piVar12" (identifier "piStack_3218") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);" (call_expression "(**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" (parenthesized_expression "(**(code **)(pcVar25 + 0x35c260))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x35c260)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x35c260)" (* "*") (cast_expression "(code **)(pcVar25 + 0x35c260)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x35c260)" (( "(") (binary_expression "pcVar25 + 0x35c260" (identifier "pcVar25") (+ "+") (number_literal "0x35c260")) () ")"))))) () ")")) (argument_list "(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "pdVar18 + 0x6b6" (identifier "pdVar18") (+ "+") (number_literal "0x6b6")) (, ",") (binary_expression "piVar12 + 0x980" (identifier "piVar12") (+ "+") (number_literal "0x980")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7b00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7b00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7b00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7b00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7b00)" (( "(") (binary_expression "pcStack_3230 + -0x7b00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7b00")) () ")"))))) () ")")) (argument_list "(4,2,piVar14)" (( "(") (number_literal "4") (, ",") (number_literal "2") (, ",") (identifier "piVar14") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }\n    else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n      uVar5 = 0x66c;\n      *puVar8 = 1;\n      pdVar23 = (dword *)(piVar12 + 0x980);\n      piVar16 = (int *)(pdVar18 + 0x6b6);\n      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;\n      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);\n      iStack_3248 = 499;\n      piStack_323c = piVar14;\n      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n      piVar11 = (int *)0x0;\n    }" ({ "{") (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar5 = 0x66c;" (assignment_expression "uVar5 = 0x66c" (identifier "uVar5") (= "=") (number_literal "0x66c")) (; ";")) (expression_statement "*puVar8 = 1;" (assignment_expression "*puVar8 = 1" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "1")) (; ";")) (expression_statement "pdVar23 = (dword *)(piVar12 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piVar12 + 0x980)" (identifier "pdVar23") (= "=") (cast_expression "(dword *)(piVar12 + 0x980)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar12 + 0x980)" (( "(") (binary_expression "piVar12 + 0x980" (identifier "piVar12") (+ "+") (number_literal "0x980")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)(pdVar18 + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdVar18 + 0x6b6)" (identifier "piVar16") (= "=") (cast_expression "(int *)(pdVar18 + 0x6b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar18 + 0x6b6)" (( "(") (binary_expression "pdVar18 + 0x6b6" (identifier "pdVar18") (+ "+") (number_literal "0x6b6")) () ")")))) (; ";")) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" (identifier "iStack_3240") (= "=") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x3e28" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x3e28"))) (; ";")) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" (identifier "piStack_3244") (= "=") (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1e9c")) () ")")))) (; ";")) (expression_statement "iStack_3248 = 499;" (assignment_expression "iStack_3248 = 499" (identifier "iStack_3248") (= "=") (number_literal "499")) (; ";")) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" (identifier "piStack_323c") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7990)" (( "(") (binary_expression "pcStack_3230 + -0x7990" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(uStack_3220)" (( "(") (identifier "uStack_3220") () ")"))) (; ";")) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" (else "else") (compound_statement "{\n      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));\n      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);\n      if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }\n      iStack_3240 = iStack_3240 + 0xe78;\n      pdVar23 = (dword *)(piStack_3218 + 0x980);\n      piVar16 = (int *)(pdStack_321c + 0x6b6);\n      piVar11 = (int *)0x0;\n      piStack_323c = piVar14;\n      puStack_3238 = puVar13;\n      (*pcVar26)(uStack_3220);\n      (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n    }" ({ "{") (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6ee4))\n                                 (**(undefined4 **)(pcStack_3230 + -0x78ec))" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6ee4))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6ee4)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6ee4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6ee4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6ee4)" (( "(") (binary_expression "pcStack_3230 + -0x6ee4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6ee4")) () ")"))))) () ")")) (argument_list "(**(undefined4 **)(pcStack_3230 + -0x78ec))" (( "(") (pointer_expression "**(undefined4 **)(pcStack_3230 + -0x78ec)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_3230 + -0x78ec)" (* "*") (cast_expression "(undefined4 **)(pcStack_3230 + -0x78ec)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x78ec)" (( "(") (binary_expression "pcStack_3230 + -0x78ec" (identifier "pcStack_3230") (+ "+") (number_literal "-0x78ec")) () ")"))))) () ")"))))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcStack_3230 + -0x77a0))\n                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x77a0))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x77a0)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x77a0)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x77a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x77a0)" (( "(") (binary_expression "pcStack_3230 + -0x77a0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x77a0")) () ")"))))) () ")")) (argument_list "(piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac)" (( "(") (identifier "piVar14") (, ",") (binary_expression "*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac" (pointer_expression "*(int *)(pcStack_3230 + -0x7fc4)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fc4)" (( "(") (binary_expression "pcStack_3230 + -0x7fc4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x7ac")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }\n      else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\n        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;\nLAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);\n        if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }\n        piVar2 = (int *)(*pcVar26)(pdVar18,1);\n        if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }\n        (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x680;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);\n        iStack_3248 = 400;\n      }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) (; ";")) (if_statement "if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;" (if "if") (parenthesized_expression "(piVar12 == (int *)0xffffffff)" (( "(") (binary_expression "piVar12 == (int *)0xffffffff" (identifier "piVar12") (== "==") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_0004d3d0;" (goto "goto") (statement_identifier "LAB_0004d3d0") (; ";"))) (labeled_statement "LAB_0004d08c:\n        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" (statement_identifier "LAB_0004d08c") (: ":") (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7a08))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7a08)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7a08)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7a08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7a08)" (( "(") (binary_expression "pcStack_3230 + -0x7a08" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7a08")) () ")"))))) () ")")) (argument_list "(3,piVar12,auStack_3210)" (( "(") (number_literal "3") (, ",") (identifier "piVar12") (, ",") (identifier "auStack_3210") () ")")))) (; ";"))) (if_statement "if (((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))) {\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" (if "if") (parenthesized_expression "(((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)))" (( "(") (binary_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))\n           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" (parenthesized_expression "((iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))" (( "(") (binary_expression "(iVar1 != 0) ||\n            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0)" (( "(") (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1" (binary_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8" (call_expression "(uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4)" (( "(") (binary_expression "(undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4" (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdStack_31d4 + -1)" (( "(") (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_31d4")) (+ "+") (number_literal "-1")) () ")"))) (< "<") (identifier "pdStack_31d4")) () ")"))) (+ "+") (identifier "iStack_31d8")) (+ "+") (number_literal "-1")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1))" (( "(") (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x73a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x73a4)" (( "(") (binary_expression "pcStack_3230 + -0x73a4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x73a4")) () ")"))))) (, ",") (comma_expression "pdVar18 = pdStack_31d4,\n              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (assignment_expression "pdVar18 = pdStack_31d4" (identifier "pdVar18") (= "=") (identifier "pdStack_31d4")) (, ",") (binary_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <\n              (undefined4 *)((int)pdStack_31d4 + -1)" (cast_expression "(undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_SYMTAB[0x16e].st_value + 2)" (( "(") (binary_expression "(int)&__DT_SYMTAB[0x16e].st_value + 2" (cast_expression "(int)&__DT_SYMTAB[0x16e].st_value" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_SYMTAB[0x16e].st_value" (& "&") (field_expression "__DT_SYMTAB[0x16e].st_value" (subscript_expression "__DT_SYMTAB[0x16e]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0x16e") (] "]")) (. ".") (field_identifier "st_value")))) (+ "+") (number_literal "2")) () ")"))) (< "<") (cast_expression "(undefined4 *)((int)pdStack_31d4 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pdStack_31d4 + -1)" (( "(") (binary_expression "(int)pdStack_31d4 + -1" (cast_expression "(int)pdStack_31d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pdStack_31d4")) (+ "+") (number_literal "-1")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);\n          pdVar18 = &__DT_SYMTAB[0x16e].st_size;\n        }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x73a4);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x73a4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x73a4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x73a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x73a4)" (( "(") (binary_expression "pcStack_3230 + -0x73a4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x73a4")) () ")"))))) (; ";")) (expression_statement "pdVar18 = &__DT_SYMTAB[0x16e].st_size;" (assignment_expression "pdVar18 = &__DT_SYMTAB[0x16e].st_size" (identifier "pdVar18") (= "=") (pointer_expression "&__DT_SYMTAB[0x16e].st_size" (& "&") (field_expression "__DT_SYMTAB[0x16e].st_size" (subscript_expression "__DT_SYMTAB[0x16e]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0x16e") (] "]")) (. ".") (field_identifier "st_size")))) (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)(*pcVar26)(pdVar18,1);" (assignment_expression "piVar2 = (int *)(*pcVar26)(pdVar18,1)" (identifier "piVar2") (= "=") (cast_expression "(int *)(*pcVar26)(pdVar18,1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar26)(pdVar18,1)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(pdVar18,1)" (( "(") (identifier "pdVar18") (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (piVar2 != (int *)0x0) {\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" (if "if") (parenthesized_expression "(piVar2 != (int *)0x0)" (( "(") (binary_expression "piVar2 != (int *)0x0" (identifier "piVar2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_3 = (int *)&DAT_00000007;\nLAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\nLAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );\n        }" ({ "{") (expression_statement "param_3 = (int *)&DAT_00000007;" (assignment_expression "param_3 = (int *)&DAT_00000007" (identifier "param_3") (= "=") (cast_expression "(int *)&DAT_00000007" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";")) (labeled_statement "LAB_0004d0d0:\n          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (statement_identifier "LAB_0004d0d0") (: ":") (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x72fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x72fc)" (( "(") (binary_expression "pcStack_3230 + -0x72fc" (identifier "pcStack_3230") (+ "+") (number_literal "-0x72fc")) () ")"))))) (; ";"))) (labeled_statement "LAB_0004d0d4:\n          do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" (statement_identifier "LAB_0004d0d4") (: ":") (do_statement "do {\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          } while( true );" (do "do") (compound_statement "{\n            piVar16 = piVar2;\n            pdVar23 = pdVar18;\n            unaff_s8 = (*pcVar26)(piVar12);\n            if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }\nLAB_0004d114:\n            pcVar26 = pcStack_3230;\n            unaff_s7 = *(uint **)(puVar13 + 0x3348);\n            pdVar23 = pdStack_321c;\n            if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }\n            if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }\n            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);\n            if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }\n            uVar7 = unaff_s7[9];\n            uVar5 = unaff_s7[1];\n            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }\n            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);\n            uVar7 = unaff_s8 + unaff_s7[9];\n            unaff_s7[9] = uVar7;\n            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);\n            unaff_s7[8] = (uint)puVar21;\n            if ((int)puVar21 < 0) goto LAB_0004d0d0;\n            if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;\n          }" ({ "{") (expression_statement "piVar16 = piVar2;" (assignment_expression "piVar16 = piVar2" (identifier "piVar16") (= "=") (identifier "piVar2")) (; ";")) (expression_statement "pdVar23 = pdVar18;" (assignment_expression "pdVar23 = pdVar18" (identifier "pdVar23") (= "=") (identifier "pdVar18")) (; ";")) (expression_statement "unaff_s8 = (*pcVar26)(piVar12);" (assignment_expression "unaff_s8 = (*pcVar26)(piVar12)" (identifier "unaff_s8") (= "=") (call_expression "(*pcVar26)(piVar12)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")")))) (; ";")) (if_statement "if ((int)unaff_s8 < 1) {\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" (if "if") (parenthesized_expression "((int)unaff_s8 < 1)" (( "(") (binary_expression "(int)unaff_s8 < 1" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();\n              if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }\nLAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);\n              if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }\n              piVar11 = (int *)0x1;\n              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);\n              goto LAB_0004d2c8;\n            }" ({ "{") (expression_statement "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))()" (identifier "piVar11") (= "=") (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x6f00))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar11 == 4) {\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" (if "if") (parenthesized_expression "(*piVar11 == 4)" (( "(") (binary_expression "*piVar11 == 4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                unaff_s8 = 0;\n                goto LAB_0004d114;\n              }" ({ "{") (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" (identifier "unaff_s8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004d114;" (goto "goto") (statement_identifier "LAB_0004d114") (; ";")) (} "}"))) (labeled_statement "LAB_0004d29c:\n              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" (statement_identifier "LAB_0004d29c") (: ":") (expression_statement "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);" (assignment_expression "iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7754)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7754)" (( "(") (binary_expression "pcStack_3230 + -0x7754" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7754")) () ")"))))) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")")))) (; ";"))) (if_statement "if (iVar1 == -1) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x696;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n              }" ({ "{") (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x74c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x74c4)" (( "(") (binary_expression "pcStack_3230 + -0x74c4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x74c4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x696;" (assignment_expression "uVar5 = 0x696" (identifier "uVar5") (= "=") (number_literal "0x696")) (; ";")) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" (identifier "pdVar23") (= "=") (cast_expression "(dword *)(piStack_3218 + 0x980)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_3218 + 0x980)" (( "(") (binary_expression "piStack_3218 + 0x980" (identifier "piStack_3218") (+ "+") (number_literal "0x980")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" (identifier "piVar16") (= "=") (cast_expression "(int *)(pdStack_321c + 0x6b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdStack_321c + 0x6b6)" (( "(") (binary_expression "pdStack_321c + 0x6b6" (identifier "pdStack_321c") (+ "+") (number_literal "0x6b6")) () ")")))) (; ";")) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (identifier "iStack_3240") (= "=") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0xe78"))) (; ";")) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (identifier "piStack_3244") (= "=") (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ba4")) () ")")))) (; ";")) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" (identifier "iStack_3248") (= "=") (number_literal "0x1b3")) (; ";")) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" (identifier "piStack_323c") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" (identifier "puStack_3238") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7990)" (( "(") (binary_expression "pcStack_3230 + -0x7990" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(uStack_3220)" (( "(") (identifier "uStack_3220") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x783c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x783c)" (( "(") (binary_expression "pcStack_3230 + -0x783c" (identifier "pcStack_3230") (+ "+") (number_literal "-0x783c")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)0x1;" (assignment_expression "piVar11 = (int *)0x1" (identifier "piVar11") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x78f0))(piVar2);" (call_expression "(**(code **)(pcStack_3230 + -0x78f0))(piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x78f0))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x78f0)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x78f0)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x78f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x78f0)" (( "(") (binary_expression "pcStack_3230 + -0x78f0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x78f0")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")"))) (; ";")) (goto_statement "goto LAB_0004d2c8;" (goto "goto") (statement_identifier "LAB_0004d2c8") (; ";")) (} "}"))) (labeled_statement "LAB_0004d114:\n            pcVar26 = pcStack_3230;" (statement_identifier "LAB_0004d114") (: ":") (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" (identifier "pcVar26") (= "=") (identifier "pcStack_3230")) (; ";"))) (expression_statement "unaff_s7 = *(uint **)(puVar13 + 0x3348);" (assignment_expression "unaff_s7 = *(uint **)(puVar13 + 0x3348)" (identifier "unaff_s7") (= "=") (pointer_expression "*(uint **)(puVar13 + 0x3348)" (* "*") (cast_expression "(uint **)(puVar13 + 0x3348)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x3348)" (( "(") (binary_expression "puVar13 + 0x3348" (identifier "puVar13") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (expression_statement "pdVar23 = pdStack_321c;" (assignment_expression "pdVar23 = pdStack_321c" (identifier "pdVar23") (= "=") (identifier "pdStack_321c")) (; ";")) (if_statement "if (unaff_s7 == (uint *)0x0) {\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" (if "if") (parenthesized_expression "(unaff_s7 == (uint *)0x0)" (( "(") (binary_expression "unaff_s7 == (uint *)0x0" (identifier "unaff_s7") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);\n              unaff_s2 = piVar14;\n              goto LAB_0004d590;\n            }" ({ "{") (labeled_statement "LAB_0004d570:\n              (**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" (statement_identifier "LAB_0004d570") (: ":") (expression_statement "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);" (call_expression "(**(code **)(pcVar26 + -0x72a8))\n                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar26 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + -0x72a8)" (* "*") (cast_expression "(code **)(pcVar26 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + -0x72a8)" (( "(") (binary_expression "pcVar26 + -0x72a8" (identifier "pcVar26") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,\n                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0)" (( "(") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "pdVar23 + 0x6b6" (identifier "pdVar23") (+ "+") (number_literal "0x6b6")) (, ",") (number_literal "0x638") (, ",") (binary_expression "*(int *)(pcVar26 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcVar26 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcVar26 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + -0x7fd0)" (( "(") (binary_expression "pcVar26 + -0x7fd0" (identifier "pcVar26") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x25f0")) () ")"))) (; ";"))) (expression_statement "unaff_s2 = piVar14;" (assignment_expression "unaff_s2 = piVar14" (identifier "unaff_s2") (= "=") (identifier "piVar14")) (; ";")) (goto_statement "goto LAB_0004d590;" (goto "goto") (statement_identifier "LAB_0004d590") (; ";")) (} "}"))) (if_statement "if (unaff_s7[0x10] == 0) {\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" (if "if") (parenthesized_expression "(unaff_s7[0x10] == 0)" (( "(") (binary_expression "unaff_s7[0x10] == 0" (subscript_expression "unaff_s7[0x10]" (identifier "unaff_s7") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);\n              goto LAB_0004d570;\n            }" ({ "{") (expression_statement "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);" (assignment_expression "pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (identifier "pdVar23") (= "=") (cast_expression "(dword *)(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x72a8))\n                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x72a8))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x72a8)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x72a8)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x72a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x72a8)" (( "(") (binary_expression "pcStack_3230 + -0x72a8" (identifier "pcStack_3230") (+ "+") (number_literal "-0x72a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,\n                                            pdStack_321c + 0x6b6,0x639,\n                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "pdStack_321c + 0x6b6" (identifier "pdStack_321c") (+ "+") (number_literal "0x6b6")) (, ",") (number_literal "0x639") (, ",") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x25f0" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x25f0")) () ")"))))) (; ";")) (goto_statement "goto LAB_0004d570;" (goto "goto") (statement_identifier "LAB_0004d570") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);" (assignment_expression "unaff_s6 = (int *)((int)unaff_s8 >> 0x1f)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)unaff_s8 >> 0x1f)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s8 >> 0x1f)" (( "(") (binary_expression "(int)unaff_s8 >> 0x1f" (cast_expression "(int)unaff_s8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s8")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (unaff_s7[0x10] != 7) {\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" (if "if") (parenthesized_expression "(unaff_s7[0x10] != 7)" (( "(") (binary_expression "unaff_s7[0x10] != 7" (subscript_expression "unaff_s7[0x10]" (identifier "unaff_s7") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);\nLAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);\n              if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }\n              goto LAB_0004d0d4;\n            }" ({ "{") (expression_statement "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);" (assignment_expression "uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f1c))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f1c)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f1c)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f1c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f1c)" (( "(") (binary_expression "pcStack_3230 + -0x6f1c" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f1c")) () ")"))))) () ")")) (argument_list "(puVar13,unaff_s8,piVar2)" (( "(") (identifier "puVar13") (, ",") (identifier "unaff_s8") (, ",") (identifier "piVar2") () ")")))) (; ";")) (labeled_statement "LAB_0004d214:\n              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (statement_identifier "LAB_0004d214") (: ":") (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x72fc);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x72fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x72fc)" (( "(") (binary_expression "pcStack_3230 + -0x72fc" (identifier "pcStack_3230") (+ "+") (number_literal "-0x72fc")) () ")"))))) (; ";"))) (if_statement "if (unaff_s8 != uVar7) {\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" (if "if") (parenthesized_expression "(unaff_s8 != uVar7)" (( "(") (binary_expression "unaff_s8 != uVar7" (identifier "unaff_s8") (!= "!=") (identifier "uVar7")) () ")")) (compound_statement "{\n                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();\n                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n                uVar5 = 0x690;\n                pdVar23 = (dword *)(piStack_3218 + 0x980);\n                piVar16 = (int *)(pdStack_321c + 0x6b6);\n                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;\n                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);\n                iStack_3248 = 0x1b3;\n                piStack_323c = piVar14;\n                puStack_3238 = puVar13;\n                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);\n                (**(code **)(pcStack_3230 + -0x783c))(puVar13);\n                goto LAB_0004d29c;\n              }" ({ "{") (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x74c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x74c4)" (( "(") (binary_expression "pcStack_3230 + -0x74c4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x74c4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x690;" (assignment_expression "uVar5 = 0x690" (identifier "uVar5") (= "=") (number_literal "0x690")) (; ";")) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" (identifier "pdVar23") (= "=") (cast_expression "(dword *)(piStack_3218 + 0x980)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_3218 + 0x980)" (( "(") (binary_expression "piStack_3218 + 0x980" (identifier "piStack_3218") (+ "+") (number_literal "0x980")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" (identifier "piVar16") (= "=") (cast_expression "(int *)(pdStack_321c + 0x6b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdStack_321c + 0x6b6)" (( "(") (binary_expression "pdStack_321c + 0x6b6" (identifier "pdStack_321c") (+ "+") (number_literal "0x6b6")) () ")")))) (; ";")) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (identifier "iStack_3240") (= "=") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0xe78" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0xe78"))) (; ";")) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (identifier "piStack_3244") (= "=") (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ba4")) () ")")))) (; ";")) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" (identifier "iStack_3248") (= "=") (number_literal "0x1b3")) (; ";")) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" (identifier "piStack_323c") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" (identifier "puStack_3238") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220);" (call_expression "(**(code **)(pcStack_3230 + -0x7990))(uStack_3220)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7990))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7990)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7990)" (( "(") (binary_expression "pcStack_3230 + -0x7990" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7990")) () ")"))))) () ")")) (argument_list "(uStack_3220)" (( "(") (identifier "uStack_3220") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x783c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x783c)" (( "(") (binary_expression "pcStack_3230 + -0x783c" (identifier "pcStack_3230") (+ "+") (number_literal "-0x783c")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (goto_statement "goto LAB_0004d29c;" (goto "goto") (statement_identifier "LAB_0004d29c") (; ";")) (} "}"))) (goto_statement "goto LAB_0004d0d4;" (goto "goto") (statement_identifier "LAB_0004d0d4") (; ";")) (} "}"))) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" (identifier "uVar7") (= "=") (subscript_expression "unaff_s7[9]" (identifier "unaff_s7") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar5 = unaff_s7[1];" (assignment_expression "uVar5 = unaff_s7[1]" (identifier "uVar5") (= "=") (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" (if "if") (parenthesized_expression "(((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8))" (( "(") (binary_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" (parenthesized_expression "((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0)" (( "(") (binary_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=\n                 (undefined1 *)0x0" (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8])" (( "(") (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7)" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (call_expression "(uint)(uVar7 + unaff_s8 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 + unaff_s8 < uVar7)" (( "(") (binary_expression "uVar7 + unaff_s8 < uVar7" (binary_expression "uVar7 + unaff_s8" (identifier "uVar7") (+ "+") (identifier "unaff_s8")) (< "<") (identifier "uVar7")) () ")")))) (+ "+") (subscript_expression "unaff_s7[8]" (identifier "unaff_s7") ([ "[") (number_literal "8") (] "]"))) () ")"))) (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)" (( "(") (comma_expression "uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8" (assignment_expression "uVar15 = unaff_s8" (identifier "uVar15") (= "=") (identifier "unaff_s8")) (, ",") (binary_expression "uVar5 <= uVar7 + unaff_s8" (identifier "uVar5") (<= "<=") (binary_expression "uVar7 + unaff_s8" (identifier "uVar7") (+ "+") (identifier "unaff_s8")))) () ")"))) () ")")) (compound_statement "{\n              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);\n              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;\n              unaff_s7[2] = unaff_s7[2] << 1;\n              uStack_3214 = unaff_s8;\n              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);\n              if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }\n              uVar7 = unaff_s7[9];\n              uVar15 = uStack_3214;\n            }" ({ "{") (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x74b0);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x74b0)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x74b0)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x74b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x74b0)" (( "(") (binary_expression "pcStack_3230 + -0x74b0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x74b0")) () ")"))))) (; ";")) (expression_statement "uVar5 = uVar5 + unaff_s7[2] + unaff_s8;" (assignment_expression "uVar5 = uVar5 + unaff_s7[2] + unaff_s8" (identifier "uVar5") (= "=") (binary_expression "uVar5 + unaff_s7[2] + unaff_s8" (binary_expression "uVar5 + unaff_s7[2]" (identifier "uVar5") (+ "+") (subscript_expression "unaff_s7[2]" (identifier "unaff_s7") ([ "[") (number_literal "2") (] "]"))) (+ "+") (identifier "unaff_s8"))) (; ";")) (expression_statement "unaff_s7[2] = unaff_s7[2] << 1;" (assignment_expression "unaff_s7[2] = unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" (identifier "unaff_s7") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "unaff_s7[2] << 1" (subscript_expression "unaff_s7[2]" (identifier "unaff_s7") ([ "[") (number_literal "2") (] "]")) (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "uStack_3214 = unaff_s8;" (assignment_expression "uStack_3214 = unaff_s8" (identifier "uStack_3214") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "iVar1 = (*pcVar26)(puVar13,unaff_s8,0);" (assignment_expression "iVar1 = (*pcVar26)(puVar13,unaff_s8,0)" (identifier "iVar1") (= "=") (call_expression "(*pcVar26)(puVar13,unaff_s8,0)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(puVar13,unaff_s8,0)" (( "(") (identifier "puVar13") (, ",") (identifier "unaff_s8") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar7 = 0;\n                goto LAB_0004d214;\n              }" ({ "{") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004d214;" (goto "goto") (statement_identifier "LAB_0004d214") (; ";")) (} "}"))) (expression_statement "uVar7 = unaff_s7[9];" (assignment_expression "uVar7 = unaff_s7[9]" (identifier "uVar7") (= "=") (subscript_expression "unaff_s7[9]" (identifier "unaff_s7") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar15 = uStack_3214;" (assignment_expression "uVar15 = uStack_3214" (identifier "uVar15") (= "=") (identifier "uStack_3214")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);" (call_expression "(**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7558))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7558)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7558)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7558)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7558)" (( "(") (binary_expression "pcStack_3230 + -0x7558" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7558")) () ")"))))) () ")")) (argument_list "(unaff_s7[0x3c] + uVar7,piVar2,uVar15)" (( "(") (binary_expression "unaff_s7[0x3c] + uVar7" (subscript_expression "unaff_s7[0x3c]" (identifier "unaff_s7") ([ "[") (number_literal "0x3c") (] "]")) (+ "+") (identifier "uVar7")) (, ",") (identifier "piVar2") (, ",") (identifier "uVar15") () ")"))) (; ";")) (expression_statement "uVar7 = unaff_s8 + unaff_s7[9];" (assignment_expression "uVar7 = unaff_s8 + unaff_s7[9]" (identifier "uVar7") (= "=") (binary_expression "unaff_s8 + unaff_s7[9]" (identifier "unaff_s8") (+ "+") (subscript_expression "unaff_s7[9]" (identifier "unaff_s7") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "unaff_s7[9] = uVar7;" (assignment_expression "unaff_s7[9] = uVar7" (subscript_expression "unaff_s7[9]" (identifier "unaff_s7") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);" (assignment_expression "puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8])" (( "(") (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]" (binary_expression "(int)unaff_s6 + (uint)(uVar7 < unaff_s8)" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (call_expression "(uint)(uVar7 < unaff_s8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < unaff_s8)" (( "(") (binary_expression "uVar7 < unaff_s8" (identifier "uVar7") (< "<") (identifier "unaff_s8")) () ")")))) (+ "+") (subscript_expression "unaff_s7[8]" (identifier "unaff_s7") ([ "[") (number_literal "8") (] "]"))) () ")")))) (; ";")) (expression_statement "unaff_s7[8] = (uint)puVar21;" (assignment_expression "unaff_s7[8] = (uint)puVar21" (subscript_expression "unaff_s7[8]" (identifier "unaff_s7") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(uint)puVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar21"))) (; ";")) (if_statement "if ((int)puVar21 < 0) goto LAB_0004d0d0;" (if "if") (parenthesized_expression "((int)puVar21 < 0)" (( "(") (binary_expression "(int)puVar21 < 0" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004d0d0;" (goto "goto") (statement_identifier "LAB_0004d0d0") (; ";"))) (if_statement "if ((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))\n            goto LAB_0004d1b4;" (if "if") (parenthesized_expression "((puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))" (( "(") (binary_expression "(puVar21 != (undefined1 *)0x0) ||\n               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" (parenthesized_expression "(puVar21 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar21 != (undefined1 *)0x0" (identifier "puVar21") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7)" (( "(") (comma_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x72fc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x72fc)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x72fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x72fc)" (( "(") (binary_expression "pcStack_3230 + -0x72fc" (identifier "pcStack_3230") (+ "+") (number_literal "-0x72fc")) () ")"))))) (, ",") (binary_expression "*unaff_s7 <= uVar7" (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (<= "<=") (identifier "uVar7"))) () ")"))) () ")")) (goto_statement "goto LAB_0004d1b4;" (goto "goto") (statement_identifier "LAB_0004d1b4") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "(**(code **)(pcStack_3230 + -0x7754))(piVar12);" (call_expression "(**(code **)(pcStack_3230 + -0x7754))(piVar12)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7754))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7754)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7754)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7754)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7754)" (( "(") (binary_expression "pcStack_3230 + -0x7754" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7754")) () ")"))))) () ")")) (argument_list "(piVar12)" (( "(") (identifier "piVar12") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x6f00))()" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x6f00))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x6f00)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x74c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x74c4)" (( "(") (binary_expression "pcStack_3230 + -0x74c4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x74c4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x680;" (assignment_expression "uVar5 = 0x680" (identifier "uVar5") (= "=") (number_literal "0x680")) (; ";")) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" (identifier "iStack_3240") (= "=") (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")"))))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7990)" (( "(") (binary_expression "pcStack_3230 + -0x7990" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7990")) () ")"))))) (; ";")) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" (identifier "piStack_3244") (= "=") (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x16f8")) () ")")))) (; ";")) (expression_statement "iStack_3248 = 400;" (assignment_expression "iStack_3248 = 400" (identifier "iStack_3248") (= "=") (number_literal "400")) (; ";")) (} "}")) (else_clause "else {\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" (else "else") (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);\n        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;\n        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);\nLAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();\n        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);\n        uVar5 = 0x675;\n        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);\n        pcVar26 = *(code **)(pcStack_3230 + -0x7990);\n        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);\n        iStack_3248 = 0x1b3;\n      }" ({ "{") (expression_statement "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);" (assignment_expression "piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x7aa8))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x7aa8)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x7aa8)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7aa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7aa8)" (( "(") (binary_expression "pcStack_3230 + -0x7aa8" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7aa8")) () ")"))))) () ")")) (argument_list "(piVar14,0,0)" (( "(") (identifier "piVar14") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;" (if "if") (parenthesized_expression "(piVar12 != (int *)0xffffffff)" (( "(") (binary_expression "piVar12 != (int *)0xffffffff" (identifier "piVar12") (!= "!=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_0004d08c;" (goto "goto") (statement_identifier "LAB_0004d08c") (; ";"))) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x6f00);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x6f00)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x6f00)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x6f00)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x6f00)" (( "(") (binary_expression "pcStack_3230 + -0x6f00" (identifier "pcStack_3230") (+ "+") (number_literal "-0x6f00")) () ")"))))) (; ";")) (labeled_statement "LAB_0004d3d0:\n        puVar8 = (undefined4 *)(*pcVar26)();" (statement_identifier "LAB_0004d3d0") (: ":") (expression_statement "puVar8 = (undefined4 *)(*pcVar26)();" (assignment_expression "puVar8 = (undefined4 *)(*pcVar26)()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(*pcVar26)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);" (assignment_expression "puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (identifier "puVar13") (= "=") (cast_expression "(undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_3230 + -0x74c4))(*puVar8)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x74c4))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x74c4)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x74c4)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x74c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x74c4)" (( "(") (binary_expression "pcStack_3230 + -0x74c4" (identifier "pcStack_3230") (+ "+") (number_literal "-0x74c4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")"))))) (; ";")) (expression_statement "uVar5 = 0x675;" (assignment_expression "uVar5 = 0x675" (identifier "uVar5") (= "=") (number_literal "0x675")) (; ";")) (expression_statement "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);" (assignment_expression "iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0)" (identifier "iStack_3240") (= "=") (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")"))))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcStack_3230 + -0x7990);" (assignment_expression "pcVar26 = *(code **)(pcStack_3230 + -0x7990)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_3230 + -0x7990)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x7990)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7990)" (( "(") (binary_expression "pcStack_3230 + -0x7990" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7990")) () ")"))))) (; ";")) (expression_statement "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);" (assignment_expression "piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" (identifier "piStack_3244") (= "=") (cast_expression "(int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4)" (( "(") (binary_expression "*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4" (pointer_expression "*(int *)(pcStack_3230 + -0x7fd0)" (* "*") (cast_expression "(int *)(pcStack_3230 + -0x7fd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_3230 + -0x7fd0)" (( "(") (binary_expression "pcStack_3230 + -0x7fd0" (identifier "pcStack_3230") (+ "+") (number_literal "-0x7fd0")) () ")")))) (+ "+") (number_literal "0x1ec4")) () ")")))) (; ";")) (expression_statement "iStack_3248 = 0x1b3;" (assignment_expression "iStack_3248 = 0x1b3" (identifier "iStack_3248") (= "=") (number_literal "0x1b3")) (; ";")) (} "}")))) (expression_statement "iStack_3240 = iStack_3240 + 0xe78;" (assignment_expression "iStack_3240 = iStack_3240 + 0xe78" (identifier "iStack_3240") (= "=") (binary_expression "iStack_3240 + 0xe78" (identifier "iStack_3240") (+ "+") (number_literal "0xe78"))) (; ";")) (expression_statement "pdVar23 = (dword *)(piStack_3218 + 0x980);" (assignment_expression "pdVar23 = (dword *)(piStack_3218 + 0x980)" (identifier "pdVar23") (= "=") (cast_expression "(dword *)(piStack_3218 + 0x980)" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_3218 + 0x980)" (( "(") (binary_expression "piStack_3218 + 0x980" (identifier "piStack_3218") (+ "+") (number_literal "0x980")) () ")")))) (; ";")) (expression_statement "piVar16 = (int *)(pdStack_321c + 0x6b6);" (assignment_expression "piVar16 = (int *)(pdStack_321c + 0x6b6)" (identifier "piVar16") (= "=") (cast_expression "(int *)(pdStack_321c + 0x6b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdStack_321c + 0x6b6)" (( "(") (binary_expression "pdStack_321c + 0x6b6" (identifier "pdStack_321c") (+ "+") (number_literal "0x6b6")) () ")")))) (; ";")) (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piStack_323c = piVar14;" (assignment_expression "piStack_323c = piVar14" (identifier "piStack_323c") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "puStack_3238 = puVar13;" (assignment_expression "puStack_3238 = puVar13" (identifier "puStack_3238") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "(*pcVar26)(uStack_3220);" (call_expression "(*pcVar26)(uStack_3220)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(uStack_3220)" (( "(") (identifier "uStack_3220") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_3230 + -0x783c))(puVar13);" (call_expression "(**(code **)(pcStack_3230 + -0x783c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_3230 + -0x783c))" (( "(") (pointer_expression "**(code **)(pcStack_3230 + -0x783c)" (* "*") (pointer_expression "*(code **)(pcStack_3230 + -0x783c)" (* "*") (cast_expression "(code **)(pcStack_3230 + -0x783c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_3230 + -0x783c)" (( "(") (binary_expression "pcStack_3230 + -0x783c" (identifier "pcStack_3230") (+ "+") (number_literal "-0x783c")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0004d2c8:\n    iVar1 = iStack_316c;" (statement_identifier "LAB_0004d2c8") (: ":") (expression_statement "iVar1 = iStack_316c;" (assignment_expression "iVar1 = iStack_316c" (identifier "iVar1") (= "=") (identifier "iStack_316c")) (; ";"))) (expression_statement "pcVar26 = pcStack_3230;" (assignment_expression "pcVar26 = pcStack_3230" (identifier "pcVar26") (= "=") (identifier "pcStack_3230")) (; ";")) (if_statement "if (iStack_316c == *piStack_3224) {\n      return piVar11;\n    }" (if "if") (parenthesized_expression "(iStack_316c == *piStack_3224)" (( "(") (binary_expression "iStack_316c == *piStack_3224" (identifier "iStack_316c") (== "==") (pointer_expression "*piStack_3224" (* "*") (identifier "piStack_3224"))) () ")")) (compound_statement "{\n      return piVar11;\n    }" ({ "{") (return_statement "return piVar11;" (return "return") (identifier "piVar11") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar26 = *(code **)(pcVar26 + -0x784c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + -0x784c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + -0x784c)" (* "*") (cast_expression "(code **)(pcVar26 + -0x784c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + -0x784c)" (( "(") (binary_expression "pcVar26 + -0x784c" (identifier "pcVar26") (+ "+") (number_literal "-0x784c")) () ")"))))) (; ";")) (expression_statement "pcVar24 = InjectImageBlob;" (assignment_expression "pcVar24 = InjectImageBlob" (identifier "pcVar24") (= "=") (identifier "InjectImageBlob")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = iStack_3248;" (assignment_expression "iVar6 = iStack_3248" (identifier "iVar6") (= "=") (identifier "iStack_3248")) (; ";")) (expression_statement "piVar2 = *(int **)(pcVar26 + 0x35bc28);" (assignment_expression "piVar2 = *(int **)(pcVar26 + 0x35bc28)" (identifier "piVar2") (= "=") (pointer_expression "*(int **)(pcVar26 + 0x35bc28)" (* "*") (cast_expression "(int **)(pcVar26 + 0x35bc28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bc28)" (( "(") (binary_expression "pcVar26 + 0x35bc28" (identifier "pcVar26") (+ "+") (number_literal "0x35bc28")) () ")"))))) (; ";")) (expression_statement "iStack_3284 = *piVar2;" (assignment_expression "iStack_3284 = *piVar2" (identifier "iStack_3284") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "puStack_3280 = puVar13;" (assignment_expression "puStack_3280 = puVar13" (identifier "puStack_3280") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "piStack_327c = piVar11;" (assignment_expression "piStack_327c = piVar11" (identifier "piStack_327c") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "piStack_3278 = piVar14;" (assignment_expression "piStack_3278 = piVar14" (identifier "piStack_3278") (= "=") (identifier "piVar14")) (; ";")) (expression_statement "piStack_3274 = piVar12;" (assignment_expression "piStack_3274 = piVar12" (identifier "piStack_3274") (= "=") (identifier "piVar12")) (; ";")) (expression_statement "pdStack_3270 = pdVar18;" (assignment_expression "pdStack_3270 = pdVar18" (identifier "pdStack_3270") (= "=") (identifier "pdVar18")) (; ";")) (expression_statement "piStack_326c = param_3;" (assignment_expression "piStack_326c = param_3" (identifier "piStack_326c") (= "=") (identifier "param_3")) (; ";")) (expression_statement "piStack_3268 = unaff_s6;" (assignment_expression "piStack_3268 = unaff_s6" (identifier "piStack_3268") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_3264 = unaff_s7;" (assignment_expression "puStack_3264 = unaff_s7" (identifier "puStack_3264") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "uStack_3260 = unaff_s8;" (assignment_expression "uStack_3260 = unaff_s8" (identifier "uStack_3260") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_325c = pcVar24;" (assignment_expression "pcStack_325c = pcVar24" (identifier "pcStack_325c") (= "=") (identifier "pcVar24")) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }\n  else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;\n    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n    uVar17 = (undefined1)iVar6;\n  }" ({ "{") (labeled_statement "LAB_0004ddfc:\n    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (statement_identifier "LAB_0004ddfc") (: ":") (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";"))) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1c88" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1c88"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar6") (, ",") (number_literal "0xabf") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2474")) () ")"))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar6;" (assignment_expression "uVar17 = (undefined1)iVar6" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar6" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar6"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }\n    if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }\n    if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }\n    if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }\n    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;\n    iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;\n    if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }\n    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);\n    if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }\nLAB_0004d764:\n    iVar1 = iStack_3284;\n    if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar1 + 0x3214) != -0x54535255) {\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x3214) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar1 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x3214)" (* "*") (cast_expression "(int *)(iVar1 + 0x3214)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3214)" (( "(") (binary_expression "iVar1 + 0x3214" (identifier "iVar1") (+ "+") (number_literal "0x3214")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\nLAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddfc;\n    }" ({ "{") (labeled_statement "LAB_0004ddd8:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (statement_identifier "LAB_0004ddd8") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xda0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac0") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2474")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004ddfc;" (goto "goto") (statement_identifier "LAB_0004ddfc") (; ";")) (} "}"))) (if_statement "if (piVar16 == (int *)0x0) {\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" (if "if") (parenthesized_expression "(piVar16 == (int *)0x0)" (( "(") (binary_expression "piVar16 == (int *)0x0" (identifier "piVar16") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddd8;\n    }" ({ "{") (labeled_statement "LAB_0004ddb4:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (statement_identifier "LAB_0004ddb4") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac1") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2474")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004ddd8;" (goto "goto") (statement_identifier "LAB_0004ddd8") (; ";")) (} "}"))) (if_statement "if (piVar16[0xcdb] != -0x54535255) {\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" (if "if") (parenthesized_expression "(piVar16[0xcdb] != -0x54535255)" (( "(") (binary_expression "piVar16[0xcdb] != -0x54535255" (subscript_expression "piVar16[0xcdb]" (identifier "piVar16") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\nLAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);\nLAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);\nLAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);\n      goto LAB_0004ddb4;\n    }" ({ "{") (labeled_statement "LAB_0004dd4c:\n      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" (statement_identifier "LAB_0004dd4c") (: ":") (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474" (identifier "iVar20") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2474"))) (; ";"))) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,\n                 iVar20)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2e0) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35b2e0)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2e0)" (( "(") (binary_expression "pcVar26 + 0x35b2e0" (identifier "pcVar26") (+ "+") (number_literal "0x35b2e0")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac2") (, ",") (identifier "iVar20") () ")"))) (; ";")) (labeled_statement "LAB_0004dd70:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" (statement_identifier "LAB_0004dd70") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,\n                 iVar20 + 0x2474)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1fe4")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac6") (, ",") (binary_expression "iVar20 + 0x2474" (identifier "iVar20") (+ "+") (number_literal "0x2474")) () ")"))) (; ";"))) (labeled_statement "LAB_0004dd90:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (statement_identifier "LAB_0004dd90") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,\n                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1fc4")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac5") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2474" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2474")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004ddb4;" (goto "goto") (statement_identifier "LAB_0004ddb4") (; ";")) (} "}"))) (if_statement "if (piVar16[0xcd4] != 0) {\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" (if "if") (parenthesized_expression "(piVar16[0xcd4] != 0)" (( "(") (binary_expression "piVar16[0xcd4] != 0" (subscript_expression "piVar16[0xcd4]" (identifier "piVar16") ([ "[") (number_literal "0xcd4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4);" (call_expression "(**(code **)(pcVar26 + 0x35bbd8))\n                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bbd8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bbd8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bbd8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bbd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bbd8)" (( "(") (binary_expression "pcVar26 + 0x35bbd8" (identifier "pcVar26") (+ "+") (number_literal "0x35bbd8")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,\n                 0xac4)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2464")) (, ",") (number_literal "0xac4") () ")"))) (; ";")) (} "}"))) (if_statement "if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;" (if "if") (parenthesized_expression "(pdVar23 == (dword *)0x0)" (( "(") (binary_expression "pdVar23 == (dword *)0x0" (identifier "pdVar23") (== "==") (cast_expression "(dword *)0x0" (( "(") (type_descriptor "dword *" (type_identifier "dword") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004dd90;" (goto "goto") (statement_identifier "LAB_0004dd90") (; ";"))) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")"))))) (; ";")) (if_statement "if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;" (if "if") (parenthesized_expression "(pdVar23[0xcdb] != -0x54535255)" (( "(") (binary_expression "pdVar23[0xcdb] != -0x54535255" (subscript_expression "pdVar23[0xcdb]" (identifier "pdVar23") ([ "[") (number_literal "0xcdb") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0004dd70;" (goto "goto") (statement_identifier "LAB_0004dd70") (; ";"))) (if_statement "if (iVar6 == 0) {\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);\n      goto LAB_0004dd4c;\n    }" ({ "{") (labeled_statement "LAB_0004dd2c:\n      (**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" (statement_identifier "LAB_0004dd2c") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,\n                 iVar20 + 0x2474)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1cac" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1cac")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xac7") (, ",") (binary_expression "iVar20 + 0x2474" (identifier "iVar20") (+ "+") (number_literal "0x2474")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004dd4c;" (goto "goto") (statement_identifier "LAB_0004dd4c") (; ";")) (} "}"))) (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" (identifier "iVar20") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35b83c))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b83c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b83c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b83c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b83c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b83c)" (( "(") (binary_expression "pcVar26 + 0x35b83c" (identifier "pcVar26") (+ "+") (number_literal "0x35b83c")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")")))) (; ";")) (if_statement "if ((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)) {\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }\n    else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" (if "if") (parenthesized_expression "((iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0))" (( "(") (binary_expression "(iVar20 == -1) ||\n       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" (parenthesized_expression "(iVar20 == -1)" (( "(") (binary_expression "iVar20 == -1" (identifier "iVar20") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0)" (( "(") (comma_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),\n       iVar20 == 0" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" (identifier "iVar20") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c1d0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c1d0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c1d0)" (( "(") (binary_expression "pcVar26 + 0x35c1d0" (identifier "pcVar26") (+ "+") (number_literal "0x35c1d0")) () ")"))))) () ")")) (argument_list "(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98)" (( "(") (identifier "iVar20") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0xe98" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0xe98")) () ")")))) (, ",") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);\n      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);\n      uVar17 = (undefined1)iVar1;\n      piVar12 = (int *)0x0;\n      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);" (call_expression "(**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c234))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c234)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c234)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c234)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c234)" (( "(") (binary_expression "pcVar26 + 0x35c234" (identifier "pcVar26") (+ "+") (number_literal "0x35c234")) () ")"))))) () ")")) (argument_list "(piVar16 + 0xd0,auStack_4284,0x1000)" (( "(") (binary_expression "piVar16 + 0xd0" (identifier "piVar16") (+ "+") (number_literal "0xd0")) (, ",") (identifier "auStack_4284") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c3a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c3a8)" (( "(") (binary_expression "pcVar26 + 0x35c3a8" (identifier "pcVar26") (+ "+") (number_literal "0x35c3a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bde4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bde4)" (( "(") (binary_expression "pcVar26 + 0x35bde4" (identifier "pcVar26") (+ "+") (number_literal "0x35bde4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);" (call_expression "(**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b918)" (( "(") (binary_expression "pcVar26 + 0x35b918" (identifier "pcVar26") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0)" (( "(") (identifier "iVar6") (, ",") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2464")) (, ",") (number_literal "0xad0") () ")"))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar1" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar1"))) (; ";")) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ba6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ba6c)" (( "(") (binary_expression "pcVar26 + 0x35ba6c" (identifier "pcVar26") (+ "+") (number_literal "0x35ba6c")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" (else "else") (compound_statement "{\n      uVar17 = 0;\n      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);\n      if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }\n    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c228))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c228)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c228)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c228)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c228)" (( "(") (binary_expression "pcVar26 + 0x35c228" (identifier "pcVar26") (+ "+") (number_literal "0x35c228")) () ")"))))) () ")")) (argument_list "(pdVar23,0,0,0)" (( "(") (identifier "pdVar23") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) {\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }\n      else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar12 = (int *)0x0;\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n      }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bd94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bd94)" (( "(") (binary_expression "pcVar26 + 0x35bd94" (identifier "pcVar26") (+ "+") (number_literal "0x35bd94")) () ")"))))) () ")")) (argument_list "(iVar20)" (( "(") (identifier "iVar20") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b994)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b994)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b994)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b994)" (( "(") (binary_expression "pcVar26 + 0x35b994" (identifier "pcVar26") (+ "+") (number_literal "0x35b994")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        (**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);\n        (**(code **)(pcVar26 + 0x35ba08))(iVar9);\n        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);\n        pcVar24 = *(code **)(pcVar26 + 0x35bb94);\n        *(undefined4 *)(iVar9 + 0x3348) = uVar3;\n        uVar3 = (*pcVar24)(iVar1);\n        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);\n        iVar1 = iVar9;\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);\n        uVar17 = (undefined1)iVar1;\n        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);\n        (**(code **)(pcVar26 + 0x35b944))(iVar9);\n        (**(code **)(pcVar26 + 0x35bd94))(iVar20);\n        if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35b774))\n                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b774))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b774)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b774)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b774)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b774)" (( "(") (binary_expression "pcVar26 + 0x35b774" (identifier "pcVar26") (+ "+") (number_literal "0x35b774")) () ")"))))) () ")")) (argument_list "(iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5)" (( "(") (binary_expression "iVar9 + 0x340" (identifier "iVar9") (+ "+") (number_literal "0x340")) (, ",") (number_literal "0x1000") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1d10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1d10")) (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35ba08))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35ba08))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba08))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ba08)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ba08)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ba08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ba08)" (( "(") (binary_expression "pcVar26 + 0x35ba08" (identifier "pcVar26") (+ "+") (number_literal "0x35ba08")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35c1d8))(0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c1d8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c1d8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c1d8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c1d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c1d8)" (( "(") (binary_expression "pcVar26 + 0x35c1d8" (identifier "pcVar26") (+ "+") (number_literal "0x35c1d8")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bb94);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bb94)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35bb94)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bb94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bb94)" (( "(") (binary_expression "pcVar26 + 0x35bb94" (identifier "pcVar26") (+ "+") (number_literal "0x35bb94")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x3348) = uVar3;" (assignment_expression "*(undefined4 *)(iVar9 + 0x3348) = uVar3" (pointer_expression "*(undefined4 *)(iVar9 + 0x3348)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x3348)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x3348)" (( "(") (binary_expression "iVar9 + 0x3348" (identifier "iVar9") (+ "+") (number_literal "0x3348")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar3 = (*pcVar24)(iVar1);" (assignment_expression "uVar3 = (*pcVar24)(iVar1)" (identifier "uVar3") (= "=") (call_expression "(*pcVar24)(iVar1)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bec8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bec8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bec8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bec8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bec8)" (( "(") (binary_expression "pcVar26 + 0x35bec8" (identifier "pcVar26") (+ "+") (number_literal "0x35bec8")) () ")"))))) () ")")) (argument_list "(uVar3,iVar20)" (( "(") (identifier "uVar3") (, ",") (identifier "iVar20") () ")"))) (; ";")) (expression_statement "iVar1 = iVar9;" (assignment_expression "iVar1 = iVar9" (identifier "iVar1") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b96c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b96c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b96c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b96c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b96c)" (( "(") (binary_expression "pcVar26 + 0x35b96c" (identifier "pcVar26") (+ "+") (number_literal "0x35b96c")) () ")"))))) () ")")) (argument_list "(uVar3,iVar9,iVar6)" (( "(") (identifier "uVar3") (, ",") (identifier "iVar9") (, ",") (identifier "iVar6") () ")"))))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar1" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar1"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35bfe0))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35bfe0))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfe0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bfe0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bfe0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bfe0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bfe0)" (( "(") (binary_expression "pcVar26 + 0x35bfe0" (identifier "pcVar26") (+ "+") (number_literal "0x35bfe0")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b944))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b944))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b944))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b944)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b944)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b944)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b944)" (( "(") (binary_expression "pcVar26 + 0x35b944" (identifier "pcVar26") (+ "+") (number_literal "0x35b944")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35bd94))(iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35bd94))(iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd94))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bd94)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bd94)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bd94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bd94)" (( "(") (binary_expression "pcVar26 + 0x35bd94" (identifier "pcVar26") (+ "+") (number_literal "0x35bd94")) () ")"))))) () ")")) (argument_list "(iVar20)" (( "(") (identifier "iVar20") () ")"))) (; ";")) (if_statement "if (piVar12 == (int *)0x0) {\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }\n        else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" (if "if") (parenthesized_expression "(piVar12 == (int *)0x0)" (( "(") (binary_expression "piVar12 == (int *)0x0" (identifier "piVar12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n        }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b994)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b994)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b994)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b994)" (( "(") (binary_expression "pcVar26 + 0x35b994" (identifier "pcVar26") (+ "+") (number_literal "0x35b994")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" (else "else") (compound_statement "{\n          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);\n          if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }\n        }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b800))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b800)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b800)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b800)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b800)" (( "(") (binary_expression "pcVar26 + 0x35b800" (identifier "pcVar26") (+ "+") (number_literal "0x35b800")) () ")"))))) () ")")) (argument_list "(auStack_4284,0,0)" (( "(") (identifier "auStack_4284") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar1 == -1) {\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }\n          else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();\n            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);\n            uVar17 = (undefined1)iVar1;\n            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n          }" ({ "{") (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b994)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b994)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b994)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b994)" (( "(") (binary_expression "pcVar26 + 0x35b994" (identifier "pcVar26") (+ "+") (number_literal "0x35b994")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c3a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c3a8)" (( "(") (binary_expression "pcVar26 + 0x35c3a8" (identifier "pcVar26") (+ "+") (number_literal "0x35c3a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*puVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bde4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bde4)" (( "(") (binary_expression "pcVar26 + 0x35bde4" (identifier "pcVar26") (+ "+") (number_literal "0x35bde4")) () ")"))))) () ")")) (argument_list "(*puVar8)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b918)" (( "(") (binary_expression "pcVar26 + 0x35b918" (identifier "pcVar26") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1)" (( "(") (identifier "iVar6") (, ",") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2464")) (, ",") (number_literal "0xaf1") () ")"))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar1" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar1"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ba6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ba6c)" (( "(") (binary_expression "pcVar26 + 0x35ba6c" (identifier "pcVar26") (+ "+") (number_literal "0x35ba6c")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" (else "else") (compound_statement "{\n            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);\n            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }\n            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);\n            if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }\n            piVar12 = (int *)0x0;\n            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n            (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n            (**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);\n            uVar17 = (undefined1)iVar1;\n          }" ({ "{") (expression_statement "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);" (assignment_expression "iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" (identifier "iVar20") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b8a0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b8a0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b8a0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b8a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b8a0)" (( "(") (binary_expression "pcVar26 + 0x35b8a0" (identifier "pcVar26") (+ "+") (number_literal "0x35b8a0")) () ")"))))) () ")")) (argument_list "(3,iVar1,auStack_4328)" (( "(") (number_literal "3") (, ",") (identifier "iVar1") (, ",") (identifier "auStack_4328") () ")")))) (; ";")) (if_statement "if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)) {\n              uStack_4330 = uStack_42ec;\n            }\n            else {\n              uStack_4330 = 0x14000;\n            }" (if "if") (parenthesized_expression "(((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff))" (( "(") (binary_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))\n               && (uStack_42ec - 1 < 0x13fff)" (parenthesized_expression "((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))" (( "(") (binary_expression "(iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0)" (( "(") (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1" (binary_expression "(uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0" (call_expression "(uint)(uStack_42ec - 1 < uStack_42ec)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uStack_42ec - 1 < uStack_42ec)" (( "(") (binary_expression "uStack_42ec - 1 < uStack_42ec" (binary_expression "uStack_42ec - 1" (identifier "uStack_42ec") (- "-") (number_literal "1")) (< "<") (identifier "uStack_42ec")) () ")"))) (+ "+") (identifier "iStack_42f0")) (+ "+") (number_literal "-1")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uStack_42ec - 1 < 0x13fff)" (( "(") (binary_expression "uStack_42ec - 1 < 0x13fff" (binary_expression "uStack_42ec - 1" (identifier "uStack_42ec") (- "-") (number_literal "1")) (< "<") (number_literal "0x13fff")) () ")"))) () ")")) (compound_statement "{\n              uStack_4330 = uStack_42ec;\n            }" ({ "{") (expression_statement "uStack_4330 = uStack_42ec;" (assignment_expression "uStack_4330 = uStack_42ec" (identifier "uStack_4330") (= "=") (identifier "uStack_42ec")) (; ";")) (} "}")) (else_clause "else {\n              uStack_4330 = 0x14000;\n            }" (else "else") (compound_statement "{\n              uStack_4330 = 0x14000;\n            }" ({ "{") (expression_statement "uStack_4330 = 0x14000;" (assignment_expression "uStack_4330 = 0x14000" (identifier "uStack_4330") (= "=") (number_literal "0x14000")) (; ";")) (} "}")))) (expression_statement "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);" (assignment_expression "iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bf04))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bf04)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bf04)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bf04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bf04)" (( "(") (binary_expression "pcVar26 + 0x35bf04" (identifier "pcVar26") (+ "+") (number_literal "0x35bf04")) () ")"))))) () ")")) (argument_list "(uStack_4330,1)" (( "(") (identifier "uStack_4330") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);\nLAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;\n              (**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);\n              goto LAB_0004dd2c;\n            }" ({ "{") (while_statement "while( true ) {\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                iVar20 = iVar9;\n                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);\n                uVar17 = (undefined1)iVar20;\n                if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }\n                puVar22 = (uint *)piVar16[0xcd2];\n                iVar20 = *(int *)(pcVar26 + 0x35b2d8);\n                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;\n                if (puVar22[0x10] == 0) break;\n                if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }\n              }" ({ "{") (expression_statement "iVar20 = iVar9;" (assignment_expression "iVar20 = iVar9" (identifier "iVar20") (= "=") (identifier "iVar9")) (; ";")) (expression_statement "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);" (assignment_expression "uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bfac))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bfac)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bfac)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bfac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bfac)" (( "(") (binary_expression "pcVar26 + 0x35bfac" (identifier "pcVar26") (+ "+") (number_literal "0x35bfac")) () ")"))))) () ")")) (argument_list "(iVar1,iVar9,uStack_4330)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar9") (, ",") (identifier "uStack_4330") () ")")))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar20;" (assignment_expression "uVar17 = (undefined1)iVar20" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar20" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar20"))) (; ";")) (if_statement "if ((int)uVar5 < 1) {\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" (if "if") (parenthesized_expression "((int)uVar5 < 1)" (( "(") (binary_expression "(int)uVar5 < 1" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();\n                  if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }\n                  uVar5 = 0;\n                }" ({ "{") (expression_statement "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();" (assignment_expression "piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))()" (identifier "piVar11") (= "=") (cast_expression "(int *)(**(code **)(pcVar26 + 0x35c3a8))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35c3a8))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c3a8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c3a8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c3a8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c3a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c3a8)" (( "(") (binary_expression "pcVar26 + 0x35c3a8" (identifier "pcVar26") (+ "+") (number_literal "0x35c3a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar11 != 4) {\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" (if "if") (parenthesized_expression "(*piVar11 != 4)" (( "(") (binary_expression "*piVar11 != 4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);\n                    if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }\n                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);\n                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);\n                    goto LAB_0004d764;\n                  }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bb54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bb54)" (( "(") (binary_expression "pcVar26 + 0x35bb54" (identifier "pcVar26") (+ "+") (number_literal "0x35bb54")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (if_statement "if (iVar1 == -1) {\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" (if "if") (parenthesized_expression "(iVar1 == -1)" (( "(") (binary_expression "iVar1 == -1" (identifier "iVar1") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);\n                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;\n                      (**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);\n                      uVar17 = (undefined1)iVar1;\n                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);\n                    }" ({ "{") (expression_statement "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);" (assignment_expression "uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35bde4))(*piVar11)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bde4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bde4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bde4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bde4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bde4)" (( "(") (binary_expression "pcVar26 + 0x35bde4" (identifier "pcVar26") (+ "+") (number_literal "0x35bde4")) () ")"))))) () ")")) (argument_list "(*piVar11)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b918)" (( "(") (binary_expression "pcVar26 + 0x35b918" (identifier "pcVar26") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d)" (( "(") (identifier "iVar6") (, ",") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2464")) (, ",") (number_literal "0xb0d") () ")"))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar1" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar1"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35ba6c))(uVar3);" (call_expression "(**(code **)(pcVar26 + 0x35ba6c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ba6c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ba6c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ba6c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ba6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ba6c)" (( "(") (binary_expression "pcVar26 + 0x35ba6c" (identifier "pcVar26") (+ "+") (number_literal "0x35ba6c")) () ")"))))) () ")")) (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b994)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b994)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b994)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b994)" (( "(") (binary_expression "pcVar26 + 0x35b994" (identifier "pcVar26") (+ "+") (number_literal "0x35b994")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b9b8))(iVar9);" (call_expression "(**(code **)(pcVar26 + 0x35b9b8))(iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b9b8))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b9b8)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b9b8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b9b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b9b8)" (( "(") (binary_expression "pcVar26 + 0x35b9b8" (identifier "pcVar26") (+ "+") (number_literal "0x35b9b8")) () ")"))))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (goto_statement "goto LAB_0004d764;" (goto "goto") (statement_identifier "LAB_0004d764") (; ";")) (} "}"))) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "puVar22 = (uint *)piVar16[0xcd2];" (assignment_expression "puVar22 = (uint *)piVar16[0xcd2]" (identifier "puVar22") (= "=") (cast_expression "(uint *)piVar16[0xcd2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar16[0xcd2]" (identifier "piVar16") ([ "[") (number_literal "0xcd2") (] "]")))) (; ";")) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35b2d8);" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35b2d8)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")"))))) (; ";")) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;" (if "if") (parenthesized_expression "(puVar22 == (uint *)0x0)" (( "(") (binary_expression "puVar22 == (uint *)0x0" (identifier "puVar22") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004dd0c;" (goto "goto") (statement_identifier "LAB_0004dd0c") (; ";"))) (if_statement "if (puVar22[0x10] == 0) break;" (if "if") (parenthesized_expression "(puVar22[0x10] == 0)" (( "(") (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (puVar22[0x10] == 7) {\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }\n                else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" (if "if") (parenthesized_expression "(puVar22[0x10] == 7)" (( "(") (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n                  uVar7 = puVar22[9];\n                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }\n                }" ({ "{") (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])) {\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }\n                  else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" (if "if") (parenthesized_expression "(((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1]))" (( "(") (binary_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&\n                     (uVar7 + uVar5 < puVar22[1])" (parenthesized_expression "((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0)" (( "(") (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f)" (binary_expression "(uint)(uVar7 + uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar7 + uVar5 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 + uVar5 < uVar7)" (( "(") (binary_expression "uVar7 + uVar5 < uVar7" (binary_expression "uVar7 + uVar5" (identifier "uVar7") (+ "+") (identifier "uVar5")) (< "<") (identifier "uVar7")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]"))) (+ "+") (parenthesized_expression "((int)uVar5 >> 0x1f)" (( "(") (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (>> ">>") (number_literal "0x1f")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 + uVar5 < puVar22[1])" (( "(") (binary_expression "uVar7 + uVar5 < puVar22[1]" (binary_expression "uVar7 + uVar5" (identifier "uVar7") (+ "+") (identifier "uVar5")) (< "<") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (compound_statement "{\nLAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);\n                    uVar7 = uVar5 + puVar22[9];\n                    puVar22[9] = uVar7;\n                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];\n                    puVar22[8] = uVar5;\n                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }\n                  }" ({ "{") (labeled_statement "LAB_0004da64:\n                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" (statement_identifier "LAB_0004da64") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);" (call_expression "(**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bd50))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bd50)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bd50)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bd50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bd50)" (( "(") (binary_expression "pcVar26 + 0x35bd50" (identifier "pcVar26") (+ "+") (number_literal "0x35bd50")) () ")"))))) () ")")) (argument_list "(puVar22[0x3c] + uVar7,iVar9,uVar5)" (( "(") (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" (identifier "puVar22") ([ "[") (number_literal "0x3c") (] "]")) (+ "+") (identifier "uVar7")) (, ",") (identifier "iVar9") (, ",") (identifier "uVar5") () ")"))) (; ";"))) (expression_statement "uVar7 = uVar5 + puVar22[9];" (assignment_expression "uVar7 = uVar5 + puVar22[9]" (identifier "uVar7") (= "=") (binary_expression "uVar5 + puVar22[9]" (identifier "uVar5") (+ "+") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" (identifier "uVar5") (= "=") (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8]" (binary_expression "(uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f)" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < uVar5)" (( "(") (binary_expression "uVar7 < uVar5" (identifier "uVar7") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (parenthesized_expression "((int)uVar5 >> 0x1f)" (( "(") (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (>> ">>") (number_literal "0x1f")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n                      piVar12 = (int *)0x1;\n                    }\n                    else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" (if "if") (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" (( "(") (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" (( "(") (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" (( "(") (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(uVar7 < *puVar22)" (( "(") (binary_expression "uVar7 < *puVar22" (identifier "uVar7") (< "<") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                      piVar12 = (int *)0x1;\n                    }" ({ "{") (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" (identifier "piVar12") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" (else "else") (compound_statement "{\n                      *puVar22 = uVar7;\n                      piVar12 = (int *)0x1;\n                    }" ({ "{") (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar12 = (int *)0x1;" (assignment_expression "piVar12 = (int *)0x1" (identifier "piVar12") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" (else "else") (compound_statement "{\n                    uVar7 = puVar22[2];\n                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);\n                    puVar22[2] = uVar7 << 1;\n                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);\n                    if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }\n                    piVar12 = (int *)(uint)(uVar5 == 0);\n                  }" ({ "{") (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35bdf8);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35bdf8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35bdf8)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bdf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bdf8)" (( "(") (binary_expression "pcVar26 + 0x35bdf8" (identifier "pcVar26") (+ "+") (number_literal "0x35bdf8")) () ")"))))) (; ";")) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar7 << 1" (identifier "uVar7") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);" (assignment_expression "iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" (identifier "iVar20") (= "=") (call_expression "(*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5)" (( "(") (identifier "piVar16") (, ",") (identifier "uVar5") (, ",") (number_literal "0") (, ",") (binary_expression "puVar22[1] + uVar7 + uVar5" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar7")) (+ "+") (identifier "uVar5")) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) {\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      uVar7 = puVar22[9];\n                      goto LAB_0004da64;\n                    }" ({ "{") (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (goto_statement "goto LAB_0004da64;" (goto "goto") (statement_identifier "LAB_0004da64") (; ";")) (} "}"))) (expression_statement "piVar12 = (int *)(uint)(uVar5 == 0);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == 0)" (identifier "piVar12") (= "=") (cast_expression "(int *)(uint)(uVar5 == 0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(uVar5 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" (else "else") (compound_statement "{\n                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);\n                  piVar12 = (int *)(uint)(uVar5 == uVar7);\n                }" ({ "{") (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c38c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c38c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c38c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c38c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c38c)" (( "(") (binary_expression "pcVar26 + 0x35c38c" (identifier "pcVar26") (+ "+") (number_literal "0x35c38c")) () ")"))))) () ")")) (argument_list "(piVar16,uVar5,iVar9)" (( "(") (identifier "piVar16") (, ",") (identifier "uVar5") (, ",") (identifier "iVar9") () ")")))) (; ";")) (expression_statement "piVar12 = (int *)(uint)(uVar5 == uVar7);" (assignment_expression "piVar12 = (int *)(uint)(uVar5 == uVar7)" (identifier "piVar12") (= "=") (cast_expression "(int *)(uint)(uVar5 == uVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(uVar5 == uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar5 == uVar7)" (( "(") (binary_expression "uVar5 == uVar7" (identifier "uVar5") (== "==") (identifier "uVar7")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 0x25f0" (identifier "iVar20") (+ "+") (number_literal "0x25f0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x639,iVar20)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x639") (, ",") (identifier "iVar20") () ")"))) (; ";")) (labeled_statement "LAB_0004dd0c:\n              iVar20 = iVar20 + 0x25f0;" (statement_identifier "LAB_0004dd0c") (: ":") (expression_statement "iVar20 = iVar20 + 0x25f0;" (assignment_expression "iVar20 = iVar20 + 0x25f0" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 0x25f0" (identifier "iVar20") (+ "+") (number_literal "0x25f0"))) (; ";"))) (expression_statement "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20);" (call_expression "(**(code **)(pcVar26 + 0x35c000))\n                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35c000))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35c000)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35c000)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35c000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35c000)" (( "(") (binary_expression "pcVar26 + 0x35c000" (identifier "pcVar26") (+ "+") (number_literal "0x35c000")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8\n                         ,0x638,iVar20)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x638") (, ",") (identifier "iVar20") () ")"))) (; ";")) (goto_statement "goto LAB_0004dd2c;" (goto "goto") (statement_identifier "LAB_0004dd2c") (; ";")) (} "}"))) (expression_statement "piVar12 = (int *)0x0;" (assignment_expression "piVar12 = (int *)0x0" (identifier "piVar12") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b994))(auStack_4284);" (call_expression "(**(code **)(pcVar26 + 0x35b994))(auStack_4284)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b994))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b994)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b994)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b994)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b994)" (( "(") (binary_expression "pcVar26 + 0x35b994" (identifier "pcVar26") (+ "+") (number_literal "0x35b994")) () ")"))))) () ")")) (argument_list "(auStack_4284)" (( "(") (identifier "auStack_4284") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35bb54))(iVar1);" (call_expression "(**(code **)(pcVar26 + 0x35bb54))(iVar1)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb54))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bb54)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bb54)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bb54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bb54)" (( "(") (binary_expression "pcVar26 + 0x35bb54" (identifier "pcVar26") (+ "+") (number_literal "0x35bb54")) () ")"))))) () ")")) (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);" (call_expression "(**(code **)(pcVar26 + 0x35b918))\n                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b918)" (( "(") (binary_expression "pcVar26 + 0x35b918" (identifier "pcVar26") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd)" (( "(") (identifier "iVar6") (, ",") (identifier "iVar1") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35b2d8) + 0x2464" (pointer_expression "*(int *)(pcVar26 + 0x35b2d8)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35b2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35b2d8)" (( "(") (binary_expression "pcVar26 + 0x35b2d8" (identifier "pcVar26") (+ "+") (number_literal "0x35b2d8")) () ")")))) (+ "+") (number_literal "0x2464")) (, ",") (number_literal "0xafd") () ")"))) (; ";")) (expression_statement "uVar17 = (undefined1)iVar1;" (assignment_expression "uVar17 = (undefined1)iVar1" (identifier "uVar17") (= "=") (cast_expression "(undefined1)iVar1" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar1"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_0004d764:\n    iVar1 = iStack_3284;" (statement_identifier "LAB_0004d764") (: ":") (expression_statement "iVar1 = iStack_3284;" (assignment_expression "iVar1 = iStack_3284" (identifier "iVar1") (= "=") (identifier "iStack_3284")) (; ";"))) (if_statement "if (iStack_3284 == *piVar2) {\n      return piVar12;\n    }" (if "if") (parenthesized_expression "(iStack_3284 == *piVar2)" (( "(") (binary_expression "iStack_3284 == *piVar2" (identifier "iStack_3284") (== "==") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")) (compound_statement "{\n      return piVar12;\n    }" ({ "{") (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35ba5c);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35ba5c)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35ba5c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ba5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ba5c)" (( "(") (binary_expression "pcVar26 + 0x35ba5c" (identifier "pcVar26") (+ "+") (number_literal "0x35ba5c")) () ")"))))) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar1 == 0) {\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }\n  else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;\n    (**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);\n  }" ({ "{") (labeled_statement "LAB_0004e038:\n    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" (statement_identifier "LAB_0004e038") (: ":") (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x21c8"))) (; ";"))) (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b7dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b7dc)" (( "(") (binary_expression "pcVar26 + 0x35b7dc" (identifier "pcVar26") (+ "+") (number_literal "0x35b7dc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,\n               iVar6)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0xdd0" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x16d4") (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }\n    puVar22 = *(uint **)(iVar1 + 0x3348);\n    iVar6 = *(int *)(pcVar26 + 0x35aab4);\n    if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }\n    uVar5 = puVar22[0x10];\n    if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(iVar1 + 0x336c) != -0x54535255) {\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar1 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x336c)" (* "*") (cast_expression "(int *)(iVar1 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x336c)" (( "(") (binary_expression "iVar1 + 0x336c" (identifier "iVar1") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\nLAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);\n      goto LAB_0004e038;\n    }" ({ "{") (labeled_statement "LAB_0004e014:\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" (statement_identifier "LAB_0004e014") (: ":") (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b7dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b7dc)" (( "(") (binary_expression "pcVar26 + 0x35b7dc" (identifier "pcVar26") (+ "+") (number_literal "0x35b7dc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5\n                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35aabc) + -0x3784" (pointer_expression "*(int *)(pcVar26 + 0x35aabc)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aabc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aabc)" (( "(") (binary_expression "pcVar26 + 0x35aabc" (identifier "pcVar26") (+ "+") (number_literal "0x35aabc")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x16d5") (, ",") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x21c8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x21c8")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004e038;" (goto "goto") (statement_identifier "LAB_0004e038") (; ";")) (} "}"))) (expression_statement "puVar22 = *(uint **)(iVar1 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar1 + 0x3348)" (identifier "puVar22") (= "=") (pointer_expression "*(uint **)(iVar1 + 0x3348)" (* "*") (cast_expression "(uint **)(iVar1 + 0x3348)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x3348)" (( "(") (binary_expression "iVar1 + 0x3348" (identifier "iVar1") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar26 + 0x35aab4);" (assignment_expression "iVar6 = *(int *)(pcVar26 + 0x35aab4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")"))))) (; ";")) (if_statement "if (puVar22 == (uint *)0x0) {\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" (if "if") (parenthesized_expression "(puVar22 == (uint *)0x0)" (( "(") (binary_expression "puVar22 == (uint *)0x0" (identifier "puVar22") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);\n      goto LAB_0004e014;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8);" (call_expression "(**(code **)(pcVar26 + 0x35b7dc))\n                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x35b7dc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35b7dc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b7dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b7dc)" (( "(") (binary_expression "pcVar26 + 0x35b7dc" (identifier "pcVar26") (+ "+") (number_literal "0x35b7dc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,\n                 iVar6 + 0x21c8)" (( "(") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1aec" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x16d6") (, ",") (binary_expression "iVar6 + 0x21c8" (identifier "iVar6") (+ "+") (number_literal "0x21c8")) () ")"))) (; ";")) (goto_statement "goto LAB_0004e014;" (goto "goto") (statement_identifier "LAB_0004e014") (; ";")) (} "}"))) (expression_statement "uVar5 = puVar22[0x10];" (assignment_expression "uVar5 = puVar22[0x10]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (uVar5 != 0) {\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" (if "if") (parenthesized_expression "(uVar5 != 0)" (( "(") (binary_expression "uVar5 != 0" (identifier "uVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }\n      if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }\n      uVar7 = puVar22[9];\n      uVar5 = uVar7 + 1;\n      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }\n      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);\n      puVar22[2] = uVar7 << 1;\n      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);\n      if (iVar1 == 0) {\n        return (int *)0x0;\n      }\n      uVar7 = puVar22[9];\nLAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;\n      uVar5 = puVar22[9];\n      uVar7 = uVar5 + 1;\n      puVar22[9] = uVar7;\n      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n      puVar22[8] = uVar5;\n      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }\n      return (int *)0x1;\n    }" ({ "{") (if_statement "if (uVar5 - 1 < 3) {\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" (if "if") (parenthesized_expression "(uVar5 - 1 < 3)" (( "(") (binary_expression "uVar5 - 1 < 3" (binary_expression "uVar5 - 1" (identifier "uVar5") (- "-") (number_literal "1")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);\n        if (iVar1 != -1) {\n          return (int *)0x1;\n        }\n        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);\n        if (iVar1 == 0) {\n          return (int *)0x0;\n        }\n        if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }\n        puVar22[0xe] = 1;\n        return (int *)0x0;\n      }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35afcc))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35afcc)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35afcc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35afcc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35afcc)" (( "(") (binary_expression "pcVar26 + 0x35afcc" (identifier "pcVar26") (+ "+") (number_literal "0x35afcc")) () ")"))))) () ")")) (argument_list "(uVar17,puVar22[0x11])" (( "(") (identifier "uVar17") (, ",") (subscript_expression "puVar22[0x11]" (identifier "puVar22") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar1 != -1) {\n          return (int *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar1 != -1)" (( "(") (binary_expression "iVar1 != -1" (identifier "iVar1") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n          return (int *)0x1;\n        }" ({ "{") (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (expression_statement "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);" (assignment_expression "iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11])" (parenthesized_expression "(**(code **)(pcVar26 + 0x35aef0))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35aef0)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35aef0)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35aef0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35aef0)" (( "(") (binary_expression "pcVar26 + 0x35aef0" (identifier "pcVar26") (+ "+") (number_literal "0x35aef0")) () ")"))))) () ")")) (argument_list "(puVar22[0x11])" (( "(") (subscript_expression "puVar22[0x11]" (identifier "puVar22") ([ "[") (number_literal "0x11") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n          return (int *)0x0;\n        }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return (int *)0x0;\n        }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if (puVar22[0xe] == 0) {\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" (if "if") (parenthesized_expression "(puVar22[0xe] == 0)" (( "(") (binary_expression "puVar22[0xe] == 0" (subscript_expression "puVar22[0xe]" (identifier "puVar22") ([ "[") (number_literal "0xe") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();\n          if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }\n        }" ({ "{") (expression_statement "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))()" (identifier "puVar10") (= "=") (cast_expression "(uint *)(**(code **)(pcVar26 + 0x35bb84))()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35bb84))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb84))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bb84)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bb84)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bb84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bb84)" (( "(") (binary_expression "pcVar26 + 0x35bb84" (identifier "pcVar26") (+ "+") (number_literal "0x35bb84")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*puVar10 != 0) {\n            puVar22[7] = *puVar10;\n          }" (if "if") (parenthesized_expression "(*puVar10 != 0)" (( "(") (binary_expression "*puVar10 != 0" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            puVar22[7] = *puVar10;\n          }" ({ "{") (expression_statement "puVar22[7] = *puVar10;" (assignment_expression "puVar22[7] = *puVar10" (subscript_expression "puVar22[7]" (identifier "puVar22") ([ "[") (number_literal "7") (] "]")) (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar22[0xe] = 1;" (assignment_expression "puVar22[0xe] = 1" (subscript_expression "puVar22[0xe]" (identifier "puVar22") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "1")) (; ";")) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if (uVar5 != 7) {\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" (if "if") (parenthesized_expression "(uVar5 != 7)" (( "(") (binary_expression "uVar5 != 7" (identifier "uVar5") (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();\n        return piVar12;\n      }" ({ "{") (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))()" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(pcVar26 + 0x35bb68))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35bb68))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35bb68))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35bb68)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35bb68)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35bb68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35bb68)" (( "(") (binary_expression "pcVar26 + 0x35bb68" (identifier "pcVar26") (+ "+") (number_literal "0x35bb68")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (} "}"))) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar5 = uVar7 + 1;" (assignment_expression "uVar5 = uVar7 + 1" (identifier "uVar5") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }\n      else {\n        uVar7 = puVar22[2];\n      }" (if "if") (parenthesized_expression "((uint)(uVar5 < uVar7) + puVar22[8] == 0)" (( "(") (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8] == 0" (binary_expression "(uint)(uVar5 < uVar7) + puVar22[8]" (call_expression "(uint)(uVar5 < uVar7)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar5 < uVar7)" (( "(") (binary_expression "uVar5 < uVar7" (identifier "uVar5") (< "<") (identifier "uVar7")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (uVar5 < puVar22[1]) goto LAB_0004dee0;\n        uVar7 = puVar22[2];\n        uVar5 = 0;\n      }" ({ "{") (if_statement "if (uVar5 < puVar22[1]) goto LAB_0004dee0;" (if "if") (parenthesized_expression "(uVar5 < puVar22[1])" (( "(") (binary_expression "uVar5 < puVar22[1]" (identifier "uVar5") (< "<") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]"))) () ")")) (goto_statement "goto LAB_0004dee0;" (goto "goto") (statement_identifier "LAB_0004dee0") (; ";"))) (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = puVar22[2];\n      }" (else "else") (compound_statement "{\n        uVar7 = puVar22[2];\n      }" ({ "{") (expression_statement "uVar7 = puVar22[2];" (assignment_expression "uVar7 = puVar22[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x35b5d4);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x35b5d4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35b5d4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b5d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b5d4)" (( "(") (binary_expression "pcVar26 + 0x35b5d4" (identifier "pcVar26") (+ "+") (number_literal "0x35b5d4")) () ")"))))) (; ";")) (expression_statement "puVar22[2] = uVar7 << 1;" (assignment_expression "puVar22[2] = uVar7 << 1" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar7 << 1" (identifier "uVar7") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);" (assignment_expression "iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" (identifier "iVar1") (= "=") (call_expression "(*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar1,uVar5,0,puVar22[1] + uVar7 + 1)" (( "(") (identifier "iVar1") (, ",") (identifier "uVar5") (, ",") (number_literal "0") (, ",") (binary_expression "puVar22[1] + uVar7 + 1" (binary_expression "puVar22[1] + uVar7" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n        return (int *)0x0;\n      }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return (int *)0x0;\n      }" ({ "{") (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "uVar7 = puVar22[9];" (assignment_expression "uVar7 = puVar22[9]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (labeled_statement "LAB_0004dee0:\n      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" (statement_identifier "LAB_0004dee0") (: ":") (expression_statement "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;" (assignment_expression "*(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17" (pointer_expression "*(undefined1 *)(puVar22[0x3c] + uVar7)" (* "*") (cast_expression "(undefined1 *)(puVar22[0x3c] + uVar7)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22[0x3c] + uVar7)" (( "(") (binary_expression "puVar22[0x3c] + uVar7" (subscript_expression "puVar22[0x3c]" (identifier "puVar22") ([ "[") (number_literal "0x3c") (] "]")) (+ "+") (identifier "uVar7")) () ")")))) (= "=") (identifier "uVar17")) (; ";"))) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar5 + 1;" (assignment_expression "uVar7 = uVar5 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar5 + 1" (identifier "uVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" (identifier "uVar5") (= "=") (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < uVar5)" (( "(") (binary_expression "uVar7 < uVar5" (identifier "uVar7") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" (if "if") (parenthesized_expression "((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7))))" (( "(") (binary_expression "(-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))" (parenthesized_expression "(-1 < (int)uVar5)" (( "(") (binary_expression "-1 < (int)uVar5" (number_literal "-1") (< "<") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) () ")")) (&& "&&") (parenthesized_expression "((uVar5 != 0 || (*puVar22 <= uVar7)))" (( "(") (parenthesized_expression "(uVar5 != 0 || (*puVar22 <= uVar7))" (( "(") (binary_expression "uVar5 != 0 || (*puVar22 <= uVar7)" (binary_expression "uVar5 != 0" (identifier "uVar5") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(*puVar22 <= uVar7)" (( "(") (binary_expression "*puVar22 <= uVar7" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (<= "<=") (identifier "uVar7")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        *puVar22 = uVar7;\n        return (int *)0x1;\n      }" ({ "{") (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (identifier "uVar7")) (; ";")) (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (return_statement "return (int *)0x1;" (return "return") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar24 = *(code **)(pcVar26 + 0x35b7dc);" (assignment_expression "pcVar24 = *(code **)(pcVar26 + 0x35b7dc)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x35b7dc)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35b7dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35b7dc)" (( "(") (binary_expression "pcVar26 + 0x35b7dc" (identifier "pcVar26") (+ "+") (number_literal "0x35b7dc")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;" (assignment_expression "iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (identifier "iVar1") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1ad8" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1ad8"))) (; ";")) (expression_statement "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;" (assignment_expression "iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10" (identifier "iVar20") (= "=") (binary_expression "*(int *)(pcVar26 + 0x35aab4) + 0x1b10" (pointer_expression "*(int *)(pcVar26 + 0x35aab4)" (* "*") (cast_expression "(int *)(pcVar26 + 0x35aab4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x35aab4)" (( "(") (binary_expression "pcVar26 + 0x35aab4" (identifier "pcVar26") (+ "+") (number_literal "0x35aab4")) () ")")))) (+ "+") (number_literal "0x1b10"))) (; ";")) (expression_statement "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);" (call_expression "(*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "(iVar20,iVar1,0x16d7,iVar6 + 0x21c8)" (( "(") (identifier "iVar20") (, ",") (identifier "iVar1") (, ",") (number_literal "0x16d7") (, ",") (binary_expression "iVar6 + 0x21c8" (identifier "iVar6") (+ "+") (number_literal "0x21c8")) () ")"))) (; ";")) (expression_statement "piVar12 = *(int **)(pcVar24 + 0x35b1b4);" (assignment_expression "piVar12 = *(int **)(pcVar24 + 0x35b1b4)" (identifier "piVar12") (= "=") (pointer_expression "*(int **)(pcVar24 + 0x35b1b4)" (* "*") (cast_expression "(int **)(pcVar24 + 0x35b1b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b1b4)" (( "(") (binary_expression "pcVar24 + 0x35b1b4" (identifier "pcVar24") (+ "+") (number_literal "0x35b1b4")) () ")"))))) (; ";")) (expression_statement "iVar6 = *piVar12;" (assignment_expression "iVar6 = *piVar12" (identifier "iVar6") (= "=") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) (; ";")) (if_statement "if (iVar20 != 0) {\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }\n    (**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);\n  }" ({ "{") (if_statement "if (*(int *)(iVar20 + 0x336c) == -0x54535255) {\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar20 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar20 + 0x336c)" (* "*") (cast_expression "(int *)(iVar20 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x336c)" (( "(") (binary_expression "iVar20 + 0x336c" (identifier "iVar20") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      puVar22 = *(uint **)(iVar20 + 0x3348);\n      if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }\n      if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }\nLAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);\n    }" ({ "{") (expression_statement "puVar22 = *(uint **)(iVar20 + 0x3348);" (assignment_expression "puVar22 = *(uint **)(iVar20 + 0x3348)" (identifier "puVar22") (= "=") (pointer_expression "*(uint **)(iVar20 + 0x3348)" (* "*") (cast_expression "(uint **)(iVar20 + 0x3348)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar20 + 0x3348)" (( "(") (binary_expression "iVar20 + 0x3348" (identifier "iVar20") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar20 + 0x25c) == 1) {\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + 0x25c) == 1)" (( "(") (binary_expression "*(int *)(iVar20 + 0x25c) == 1" (pointer_expression "*(int *)(iVar20 + 0x25c)" (* "*") (cast_expression "(int *)(iVar20 + 0x25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x25c)" (( "(") (binary_expression "iVar20 + 0x25c" (identifier "iVar20") (+ "+") (number_literal "0x25c")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));\n        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;\n        if (puVar22[0x10] == 0) goto LAB_0004e2a8;\n        if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }\nLAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;\n        uVar5 = puVar22[9];\n        uVar7 = uVar5 + 4;\n        puVar22[9] = uVar7;\n        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];\n        puVar22[8] = uVar5;\n        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }\nLAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }\n        goto LAB_0004e338;\n      }" ({ "{") (expression_statement "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));" (assignment_expression "iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" (identifier "iVar1") (= "=") (call_expression "CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" (identifier "CONCAT31") (argument_list "(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18))" (( "(") (call_expression "CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" (identifier "CONCAT21") (argument_list "(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),\n                                  (char)((uint)iVar1 >> 0x10))" (( "(") (call_expression "CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8))" (identifier "CONCAT11") (argument_list "((char)iVar1,(char)((uint)iVar1 >> 8))" (( "(") (cast_expression "(char)iVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar1")) (, ",") (cast_expression "(char)((uint)iVar1 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar1 >> 8)" (( "(") (binary_expression "(uint)iVar1 >> 8" (cast_expression "(uint)iVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar1")) (>> ">>") (number_literal "8")) () ")"))) () ")"))) (, ",") (cast_expression "(char)((uint)iVar1 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar1 >> 0x10)" (( "(") (binary_expression "(uint)iVar1 >> 0x10" (cast_expression "(uint)iVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar1")) (>> ">>") (number_literal "0x10")) () ")"))) () ")"))) (, ",") (cast_expression "(char)((uint)iVar1 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar1 >> 0x18)" (( "(") (binary_expression "(uint)iVar1 >> 0x18" (cast_expression "(uint)iVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar1")) (>> ">>") (number_literal "0x18")) () ")"))) () ")")))) (; ";")) (if_statement "if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;" (if "if") (parenthesized_expression "(puVar22 == (uint *)0x0)" (( "(") (binary_expression "puVar22 == (uint *)0x0" (identifier "puVar22") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0004e2cc;" (goto "goto") (statement_identifier "LAB_0004e2cc") (; ";"))) (if_statement "if (puVar22[0x10] == 0) goto LAB_0004e2a8;" (if "if") (parenthesized_expression "(puVar22[0x10] == 0)" (( "(") (binary_expression "puVar22[0x10] == 0" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004e2a8;" (goto "goto") (statement_identifier "LAB_0004e2a8") (; ";"))) (if_statement "if (puVar22[0x10] != 7) {\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" (if "if") (parenthesized_expression "(puVar22[0x10] != 7)" (( "(") (binary_expression "puVar22[0x10] != 7" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "7")) () ")")) (compound_statement "{\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" ({ "{") (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b918)" (( "(") (binary_expression "pcVar24 + 0x35b918" (identifier "pcVar24") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_0004e1b8;" (goto "goto") (statement_identifier "LAB_0004e1b8") (; ";")) (} "}"))) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" (identifier "uVar7") (= "=") (binary_expression "uVar5 + 4" (identifier "uVar5") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {\n          uVar7 = puVar22[0x3c];\n        }\n        else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" (if "if") (parenthesized_expression "(((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0))" (( "(") (binary_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&\n           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" (( "(") (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < uVar5)" (( "(") (binary_expression "uVar7 < uVar5" (identifier "uVar7") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)" (( "(") (comma_expression "uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0" (assignment_expression "uVar7 = (uint)(uVar7 < puVar22[1])" (identifier "uVar7") (= "=") (call_expression "(uint)(uVar7 < puVar22[1])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < puVar22[1])" (( "(") (binary_expression "uVar7 < puVar22[1]" (identifier "uVar7") (< "<") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]"))) () ")")))) (, ",") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          uVar7 = puVar22[0x3c];\n        }" ({ "{") (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[0x3c]" (identifier "puVar22") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" (else "else") (compound_statement "{\n          uVar5 = puVar22[2];\n          pcVar26 = *(code **)(pcVar24 + 0x35b384);\n          puVar22[2] = uVar5 << 1;\n          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n          if (iVar20 == 0) goto LAB_0004e2a0;\n          uVar5 = puVar22[9];\n          uVar7 = puVar22[0x3c];\n        }" ({ "{") (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35b384)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b384)" (( "(") (binary_expression "pcVar24 + 0x35b384" (identifier "pcVar24") (+ "+") (number_literal "0x35b384")) () ")"))))) (; ";")) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar5 << 1" (identifier "uVar5") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (identifier "iVar20") (= "=") (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (( "(") (identifier "iVar20") (, ",") (identifier "uVar7") (, ",") (number_literal "0") (, ",") (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar5")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) goto LAB_0004e2a0;" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004e2a0;" (goto "goto") (statement_identifier "LAB_0004e2a0") (; ";"))) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[0x3c]" (identifier "puVar22") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (} "}")))) (labeled_statement "LAB_0004e15c:\n        *(int *)(uVar7 + uVar5) = iVar1;" (statement_identifier "LAB_0004e15c") (: ":") (expression_statement "*(int *)(uVar7 + uVar5) = iVar1;" (assignment_expression "*(int *)(uVar7 + uVar5) = iVar1" (pointer_expression "*(int *)(uVar7 + uVar5)" (* "*") (cast_expression "(int *)(uVar7 + uVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 + uVar5)" (( "(") (binary_expression "uVar7 + uVar5" (identifier "uVar7") (+ "+") (identifier "uVar5")) () ")")))) (= "=") (identifier "iVar1")) (; ";"))) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" (identifier "uVar7") (= "=") (binary_expression "uVar5 + 4" (identifier "uVar5") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar22[9] = uVar7;" (assignment_expression "puVar22[9] = uVar7" (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];" (assignment_expression "uVar5 = (uint)(uVar7 < uVar5) + puVar22[8]" (identifier "uVar5") (= "=") (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < uVar5)" (( "(") (binary_expression "uVar7 < uVar5" (identifier "uVar7") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "puVar22[8] = uVar5;" (assignment_expression "puVar22[8] = uVar5" (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {\n          piVar2 = (int *)&DAT_00000004;\n        }\n        else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" (if "if") (parenthesized_expression "(((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22))))" (( "(") (binary_expression "((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))" (parenthesized_expression "((int)uVar5 < 0)" (( "(") (binary_expression "(int)uVar5 < 0" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar5 == 0 && (uVar7 < *puVar22)))" (( "(") (parenthesized_expression "(uVar5 == 0 && (uVar7 < *puVar22))" (( "(") (binary_expression "uVar5 == 0 && (uVar7 < *puVar22)" (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(uVar7 < *puVar22)" (( "(") (binary_expression "uVar7 < *puVar22" (identifier "uVar7") (< "<") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          piVar2 = (int *)&DAT_00000004;\n        }" ({ "{") (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" (identifier "piVar2") (= "=") (cast_expression "(int *)&DAT_00000004" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (} "}")) (else_clause "else {\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" (else "else") (compound_statement "{\n          *puVar22 = uVar7;\n          piVar2 = (int *)&DAT_00000004;\n        }" ({ "{") (expression_statement "*puVar22 = uVar7;" (assignment_expression "*puVar22 = uVar7" (pointer_expression "*puVar22" (* "*") (identifier "puVar22")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar2 = (int *)&DAT_00000004;" (assignment_expression "piVar2 = (int *)&DAT_00000004" (identifier "piVar2") (= "=") (cast_expression "(int *)&DAT_00000004" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (} "}")))) (labeled_statement "LAB_0004e1b8:\n        if (iVar6 == *piVar12) {\n          return piVar2;\n        }" (statement_identifier "LAB_0004e1b8") (: ":") (if_statement "if (iVar6 == *piVar12) {\n          return piVar2;\n        }" (if "if") (parenthesized_expression "(iVar6 == *piVar12)" (( "(") (binary_expression "iVar6 == *piVar12" (identifier "iVar6") (== "==") (pointer_expression "*piVar12" (* "*") (identifier "piVar12"))) () ")")) (compound_statement "{\n          return piVar2;\n        }" ({ "{") (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}")))) (goto_statement "goto LAB_0004e338;" (goto "goto") (statement_identifier "LAB_0004e338") (; ";")) (} "}"))) (if_statement "if (puVar22 != (uint *)0x0) {\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" (if "if") (parenthesized_expression "(puVar22 != (uint *)0x0)" (( "(") (binary_expression "puVar22 != (uint *)0x0" (identifier "puVar22") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }\nLAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);\n      }" ({ "{") (if_statement "if (puVar22[0x10] != 0) {\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" (if "if") (parenthesized_expression "(puVar22[0x10] != 0)" (( "(") (binary_expression "puVar22[0x10] != 0" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }\n          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();\n          goto LAB_0004e1b8;\n        }" ({ "{") (if_statement "if (puVar22[0x10] == 7) {\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" (if "if") (parenthesized_expression "(puVar22[0x10] == 7)" (( "(") (binary_expression "puVar22[0x10] == 7" (subscript_expression "puVar22[0x10]" (identifier "puVar22") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n            uVar5 = puVar22[9];\n            uVar7 = uVar5 + 4;\n            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }\n            uVar7 = puVar22[0x3c];\n            goto LAB_0004e15c;\n          }" ({ "{") (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar7 = uVar5 + 4;" (assignment_expression "uVar7 = uVar5 + 4" (identifier "uVar7") (= "=") (binary_expression "uVar5 + 4" (identifier "uVar5") (+ "+") (number_literal "4"))) (; ";")) (if_statement "if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }\n            else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" (if "if") (parenthesized_expression "((uint)(uVar7 < uVar5) + puVar22[8] == 0)" (( "(") (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8] == 0" (binary_expression "(uint)(uVar7 < uVar5) + puVar22[8]" (call_expression "(uint)(uVar7 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < uVar5)" (( "(") (binary_expression "uVar7 < uVar5" (identifier "uVar7") (< "<") (identifier "uVar5")) () ")"))) (+ "+") (subscript_expression "puVar22[8]" (identifier "puVar22") ([ "[") (number_literal "8") (] "]"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }\n            }" ({ "{") (if_statement "if (puVar22[1] <= uVar7) {\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" (if "if") (parenthesized_expression "(puVar22[1] <= uVar7)" (( "(") (binary_expression "puVar22[1] <= uVar7" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\n                uVar5 = puVar22[2];\n                uVar7 = 0;\n                goto LAB_0004e128;\n              }" ({ "{") (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0004e128;" (goto "goto") (statement_identifier "LAB_0004e128") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" (else "else") (compound_statement "{\n              uVar5 = puVar22[2];\nLAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);\n              puVar22[2] = uVar5 << 1;\n              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);\n              if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }\n              uVar5 = puVar22[9];\n            }" ({ "{") (expression_statement "uVar5 = puVar22[2];" (assignment_expression "uVar5 = puVar22[2]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (; ";")) (labeled_statement "LAB_0004e128:\n              pcVar26 = *(code **)(pcVar24 + 0x35b384);" (statement_identifier "LAB_0004e128") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35b384);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35b384)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35b384)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b384)" (( "(") (binary_expression "pcVar24 + 0x35b384" (identifier "pcVar24") (+ "+") (number_literal "0x35b384")) () ")"))))) (; ";"))) (expression_statement "puVar22[2] = uVar5 << 1;" (assignment_expression "puVar22[2] = uVar5 << 1" (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar5 << 1" (identifier "uVar5") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);" (assignment_expression "iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (identifier "iVar20") (= "=") (call_expression "(*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "(iVar20,uVar7,0,puVar22[1] + uVar5 + 4)" (( "(") (identifier "iVar20") (, ",") (identifier "uVar7") (, ",") (number_literal "0") (, ",") (binary_expression "puVar22[1] + uVar5 + 4" (binary_expression "puVar22[1] + uVar5" (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar5")) (+ "+") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004e2a0:\n                piVar2 = (int *)0x0;\n                goto LAB_0004e1b8;\n              }" ({ "{") (labeled_statement "LAB_0004e2a0:\n                piVar2 = (int *)0x0;" (statement_identifier "LAB_0004e2a0") (: ":") (expression_statement "piVar2 = (int *)0x0;" (assignment_expression "piVar2 = (int *)0x0" (identifier "piVar2") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (goto_statement "goto LAB_0004e1b8;" (goto "goto") (statement_identifier "LAB_0004e1b8") (; ";")) (} "}"))) (expression_statement "uVar5 = puVar22[9];" (assignment_expression "uVar5 = puVar22[9]" (identifier "uVar5") (= "=") (subscript_expression "puVar22[9]" (identifier "puVar22") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar7 = puVar22[0x3c];" (assignment_expression "uVar7 = puVar22[0x3c]" (identifier "uVar7") (= "=") (subscript_expression "puVar22[0x3c]" (identifier "puVar22") ([ "[") (number_literal "0x3c") (] "]"))) (; ";")) (goto_statement "goto LAB_0004e15c;" (goto "goto") (statement_identifier "LAB_0004e15c") (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();" (assignment_expression "piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))()" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(pcVar24 + 0x35b918))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar24 + 0x35b918))()" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b918))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b918)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b918)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b918)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b918)" (( "(") (binary_expression "pcVar24 + 0x35b918" (identifier "pcVar24") (+ "+") (number_literal "0x35b918")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto LAB_0004e1b8;" (goto "goto") (statement_identifier "LAB_0004e1b8") (; ";")) (} "}"))) (labeled_statement "LAB_0004e2a8:\n        (**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" (statement_identifier "LAB_0004e2a8") (: ":") (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b58c)" (( "(") (binary_expression "pcVar24 + 0x35b58c" (identifier "pcVar24") (+ "+") (number_literal "0x35b58c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639\n                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1b10" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x639") (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x25f0")) () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_0004e2cc:\n      (**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" (statement_identifier "LAB_0004e2cc") (: ":") (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b58c)" (( "(") (binary_expression "pcVar24 + 0x35b58c" (identifier "pcVar24") (+ "+") (number_literal "0x35b58c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,\n                 *(int *)(pcVar24 + 0x35a864) + 0x25f0)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1aec" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x638") (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x25f0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x25f0")) () ")"))) (; ";"))) (} "}"))) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b58c)" (( "(") (binary_expression "pcVar24 + 0x35b58c" (identifier "pcVar24") (+ "+") (number_literal "0x35b58c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,\n               *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35a86c) + -0x3784" (pointer_expression "*(int *)(pcVar24 + 0x35a86c)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a86c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a86c)" (( "(") (binary_expression "pcVar24 + 0x35a86c" (identifier "pcVar24") (+ "+") (number_literal "0x35a86c")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x173e") (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x21b8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8);" (call_expression "(**(code **)(pcVar24 + 0x35b58c))\n            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (parenthesized_expression "(**(code **)(pcVar24 + 0x35b58c))" (( "(") (pointer_expression "**(code **)(pcVar24 + 0x35b58c)" (* "*") (pointer_expression "*(code **)(pcVar24 + 0x35b58c)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35b58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35b58c)" (( "(") (binary_expression "pcVar24 + 0x35b58c" (identifier "pcVar24") (+ "+") (number_literal "0x35b58c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,\n             *(int *)(pcVar24 + 0x35a864) + 0x21b8)" (( "(") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0xdd0" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x1ad8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x173d") (, ",") (binary_expression "*(int *)(pcVar24 + 0x35a864) + 0x21b8" (pointer_expression "*(int *)(pcVar24 + 0x35a864)" (* "*") (cast_expression "(int *)(pcVar24 + 0x35a864)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar24 + 0x35a864)" (( "(") (binary_expression "pcVar24 + 0x35a864" (identifier "pcVar24") (+ "+") (number_literal "0x35a864")) () ")")))) (+ "+") (number_literal "0x21b8")) () ")"))) (; ";")) (labeled_statement "LAB_0004e338:\n  pcVar26 = *(code **)(pcVar24 + 0x35afe8);" (statement_identifier "LAB_0004e338") (: ":") (expression_statement "pcVar26 = *(code **)(pcVar24 + 0x35afe8);" (assignment_expression "pcVar26 = *(code **)(pcVar24 + 0x35afe8)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar24 + 0x35afe8)" (* "*") (cast_expression "(code **)(pcVar24 + 0x35afe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar24 + 0x35afe8)" (( "(") (binary_expression "pcVar24 + 0x35afe8" (identifier "pcVar24") (+ "+") (number_literal "0x35afe8")) () ")"))))) (; ";"))) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();" (assignment_expression "piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))()" (identifier "piVar12") (= "=") (cast_expression "(int *)(**(code **)(pcVar26 + 0x35ac94))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar26 + 0x35ac94))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x35ac94))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x35ac94)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x35ac94)" (* "*") (cast_expression "(code **)(pcVar26 + 0x35ac94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x35ac94)" (( "(") (binary_expression "pcVar26 + 0x35ac94" (identifier "pcVar26") (+ "+") (number_literal "0x35ac94")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar12;" (return "return") (identifier "piVar12") (; ";")) (labeled_statement "LAB_0004d1b4:\n  *unaff_s7 = uVar7;" (statement_identifier "LAB_0004d1b4") (: ":") (expression_statement "*unaff_s7 = uVar7;" (assignment_expression "*unaff_s7 = uVar7" (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (= "=") (identifier "uVar7")) (; ";"))) (goto_statement "goto LAB_0004d0d0;" (goto "goto") (statement_identifier "LAB_0004d0d0") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x0004c948) */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */

void * function_1(type_1 *var_1,type_2 *var_7,size_t *length,type_3 *var_8)

{
  type_4 *puVar1;
  int var_13;
  int var_10;
  char *var_11;
  type_2 *var_12;
  type_5 uVar6;
  void *var_22;
  type_2 *var_21;
  type_6 *var_20;
  type_7 var_26;
  type_8 var_37;
  int *piVar12;
  type_8 var_46;
  type_5 *puVar14;
  int var_51;
  int *piVar16;
  size_t var_55;
  type_8 *puVar18;
  type_9 *puVar19;
  type_10 *var_54;
  type_2 *var_40;
  type_2 *var_16;
  type_1 *var_38;
  type_8 var_47;
  type_9 uVar25;
  size_t *psVar26;
  type_3 *var_33;
  type_4 *var_14;
  type_3 *var_17;
  int var_50;
  type_2 *unaff_s0;
  type_8 *var_57;
  type_2 *var_25;
  type_1 *unaff_s2;
  type_3 *unaff_s3;
  type_3 *var_4;
  size_t *unaff_s5;
  char *var_18;
  type_10 *var_9;
  type_4 *var_15;
  type_11 *var_36;
  type_11 *var_39;
  type_8 var_45;
  type_11 *var_24;
  type_12 var_32;
  type_13 var_35;
  type_8 uStack_4330;
  type_9 auStack_4328 [56];
  int var_53;
  type_8 var_52;
  type_9 auStack_4284 [4096];
  int var_56;
  type_2 *pIStack_3280;
  type_2 *pIStack_327c;
  type_1 *pIStack_3278;
  type_3 *pEStack_3274;
  type_3 *pEStack_3270;
  size_t *psStack_326c;
  char *pcStack_3268;
  type_10 *pBStack_3264;
  type_8 uStack_3260;
  type_11 *pcStack_325c;
  int iStack_3248;
  type_1 *pIStack_3244;
  int var_48;
  type_1 *pIStack_323c;
  type_2 *pIStack_3238;
  type_11 *var_41;
  int *piStack_3224;
  type_5 uStack_3220;
  type_3 *pEStack_321c;
  type_3 *var_44;
  type_8 uStack_3214;
  type_9 auStack_3210 [56];
  int var_43;
  type_3 *var_42;
  int var_49;
  type_2 *pIStack_3168;
  type_2 *pIStack_3164;
  type_1 *pIStack_3160;
  type_3 *pEStack_315c;
  type_3 *pEStack_3158;
  size_t *psStack_3154;
  char *pcStack_3150;
  type_10 *pBStack_314c;
  type_9 var_19 [4096];
  char acStack_208c [4096];
  type_14 var_23;
  type_2 *pIStack_1084;
  type_2 *pIStack_1080;
  type_1 *pIStack_107c;
  type_3 *pEStack_1078;
  type_4 *puStack_1074;
  size_t *psStack_1070;
  char *pcStack_106c;
  type_10 *pBStack_1068;
  type_11 *pcStack_1064;
  type_10 *local_1050;
  char *local_104c;
  type_4 *local_1048;
  char *local_1044;
  type_2 *local_1040;
  char unique [4096];
  
  puVar1 = PTR___stack_chk_guard_003a9230;
  var_13 = *(int *)PTR___stack_chk_guard_003a9230;
  if (var_1 == (type_1 *)0x0) {
LAB_0004c02c:
    length = unaff_s5;
    var_8 = unaff_s3;
    var_14 = var_2 + 0x2520;
    (*(type_11 *)PTR___assert_fail_003a9608)(var_2 + 0xd78,var_2 + 0x1ad8,0x7f2);
  }
  else {
    if (var_1->signature != 0xabacadab) {
LAB_0004bfdc:
      var_7 = var_25;
      var_4 = (type_3 *)(var_2 + 0x2520);
      (*(type_11 *)PTR___assert_fail_003a9608)
                (var_2 + 0xda0,var_2 + 0x1ad8,0x7f3,var_4);
LAB_0004c000:
      (*(type_11 *)PTR___stack_chk_fail_003a9064)();
LAB_0004c00c:
      (*(type_11 *)PTR___assert_fail_003a9608)
                (var_3 + -0x3784,var_2 + 0x1ad8
                 ,0x7f8,var_4 + 0x129);
      var_25 = var_7;
      unaff_s2 = var_1;
      goto LAB_0004c02c;
    }
    if (var_1->debug != var_5) {
      local_104c = var_1->filename;
      local_1050 = (type_10 *)(var_6 + -0x62ac);
      (*(type_11 *)PTR_LogMagickEvent_003a91e0)
                (0x8000,var_2 + 0x1ad8,var_2 + 0x2514,0x7f5);
    }
    var_15 = PTR_CloneImageInfo_003a919c;
    var_4 = (type_3 *)var_2;
    var_25 = var_7;
    unaff_s3 = var_8;
    unaff_s5 = length;
    if (var_7 == (type_2 *)0x0) {
      (*(type_11 *)PTR___assert_fail_003a9608)
                (var_2 + 0xdd0,var_2 + 0x1ad8,0x7f7,var_2 + 0x2520)
      ;
      goto LAB_0004bfdc;
    }
    if (var_7->signature != 0xabacadab) goto LAB_0004c00c;
    var_14 = var_2;
    unaff_s2 = var_1;
    if (var_8 != (type_3 *)0x0) {
      *length = 0;
      var_18 = var_7->magick;
      unaff_s0 = (type_2 *)(*(type_11 *)var_15)(var_1);
      unaff_s0->quality = 0;
      (*(type_11 *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,var_8);
      if (*(char *)&unaff_s0->offset != '\0') {
        (*(type_11 *)PTR_CopyMagickString_003a983c)(var_18,&unaff_s0->offset,0x1000);
      }
      var_9 = (type_10 *)(*(type_11 *)PTR_GetMagickInfo_003a940c)(var_18,var_8);
      if (var_9 == (type_10 *)0x0) {
        var_4 = (type_3 *)0x804;
        var_1 = (type_1 *)0x0;
        local_1048 = var_2 + 0x3e28;
        local_104c = var_2 + 0x1cec;
        local_1050 = (type_10 *)0x1a4;
        local_1044 = var_18;
        (*(type_11 *)PTR_ThrowMagickException_003a8f20)
                  (var_8,var_2 + 0x1ad8,var_2 + 0x2514,0x804);
        (*(type_11 *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
      }
      else {
        (*(type_11 *)PTR_CopyMagickString_003a983c)(&unaff_s0->offset,var_18,0x1000);
        var_10 = (*(type_11 *)PTR_GetMagickBlobSupport_003a9774)(var_9);
        var_15 = PTR_AcquireQuantumMemory_003a950c;
        if (var_10 == 0) {
          var_9 = (type_10 *)unique;
          var_10 = (*(type_11 *)PTR_AcquireUniqueFileResource_003a8e44)(var_9);
          if (var_10 == -1) {
            var_11 = var_1->filename;
            puVar14 = (type_5 *)(*(type_11 *)PTR___errno_location_003a99b0)();
            var_12 = (type_2 *)(*(type_11 *)PTR_GetExceptionMessage_003a93ec)(*puVar14);
            var_4 = (type_3 *)0x835;
            var_1 = (type_1 *)0x0;
            local_1048 = var_2 + 0xe78;
            local_104c = var_2 + 0x1ba4;
            local_1050 = (type_10 *)&DAT_000001b3;
            local_1044 = var_11;
            local_1040 = var_12;
            (*(type_11 *)PTR_ThrowMagickException_003a8f20)
                      (var_8,var_2 + 0x1ad8,var_2 + 0x2514,0x835);
            (*(type_11 *)PTR_DestroyString_003a9074)(var_12);
          }
          else {
            var_11 = (char *)(*(type_11 *)PTR_fdopen_003a97d8)(var_10,var_2 + 0xe98);
            unaff_s0->montage = var_11;
            var_12 = var_7;
            if (var_11 == (char *)0x0) {
LAB_0004bd90:
              var_1 = (type_1 *)0x0;
            }
            else {
              var_4 = (type_3 *)var_18;
              local_1050 = var_9;
              (*(type_11 *)PTR_FormatLocaleString_003a8d7c)
                        (var_7->filename,0x1000,var_2 + 0x1d10,var_18);
              var_12 = (type_2 *)(*(type_11 *)PTR_WriteImage_003a8f74)(unaff_s0,var_7,var_8);
              (*(type_11 *)PTR_CloseBlob_003a9688)(var_7);
              (*(type_11 *)PTR_fclose_003a939c)(unaff_s0->montage);
              if (var_12 == (type_2 *)0x0) goto LAB_0004bd90;
              var_4 = var_8;
              var_1 = (type_1 *)
                           (*(type_11 *)PTR_FileToBlob_003a8d24)(var_9,0xffffffff,length,var_8);
            }
            (*(type_11 *)PTR_RelinquishUniqueFileResource_003a8f9c)(var_9);
          }
        }
        else {
          unaff_s0->geometry = (char *)0x0;
          var_11 = (char *)(*(type_11 *)var_15)(0x10000,1);
          unaff_s0->directory = var_11;
          if (var_11 == (char *)0x0) {
            var_12 = (type_2 *)var_7->filename;
            var_4 = (type_3 *)0x814;
            local_1048 = var_2 + 0x3e28;
            local_104c = var_2 + 0x16f8;
            local_1050 = (type_10 *)0x190;
            local_1044 = (char *)var_12;
            (*(type_11 *)PTR_ThrowMagickException_003a8f20)
                      (var_8,var_2 + 0x1ad8,var_2 + 0x2514,0x814);
            var_1 = (type_1 *)0x0;
          }
          else {
            (*(type_11 *)PTR_CloseBlob_003a9688)(var_7);
            var_15 = PTR_WriteImage_003a8f74;
            var_7->blob->exempt = MagickTrue;
            var_7->filename[0] = '\0';
            var_12 = (type_2 *)(*(type_11 *)var_15)(unaff_s0,var_7,var_8);
            var_15 = PTR_DetachBlob_003a976c;
            var_54 = var_7->blob;
            *length = var_54->length;
            var_10 = (*(type_11 *)var_15)(var_54);
            if (var_10 == 0) {
              var_11 = (char *)(*(type_11 *)PTR_RelinquishMagickMemory_003a8fc0)(unaff_s0->directory);
              unaff_s0->directory = var_11;
              var_1 = (type_1 *)0x0;
            }
            else if (var_12 == (type_2 *)0x0) {
              var_1 = (type_1 *)(*(type_11 *)PTR_RelinquishMagickMemory_003a8fc0)(var_10);
            }
            else {
              var_1 = (type_1 *)
                           (*(type_11 *)PTR_ResizeQuantumMemory_003a9420)(var_10,*length + 1,1);
            }
          }
        }
        (*(type_11 *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
        var_7 = var_12;
      }
      if (var_13 == *(int *)puVar1) {
        return var_1;
      }
      goto LAB_0004c000;
    }
  }
  psVar26 = (size_t *)&DAT_000007f9;
  var_17 = (type_3 *)(var_14 + 0x2520);
  var_16 = (type_2 *)(var_2 + 0x1ad8);
  var_24 = ImagesToBlob;
  var_12 = (type_2 *)(var_2 + 0x1cac);
  var_15 = PTR___assert_fail_003a9608;
  (*(type_11 *)PTR___assert_fail_003a9608)();
  puStack_1074 = puVar1;
  var_4 = *(type_3 **)(var_15 + 0x35d1c0);
  var_23 = var_4->severity;
  pIStack_1084 = unaff_s0;
  pIStack_1080 = var_25;
  pIStack_107c = unaff_s2;
  pEStack_1078 = var_8;
  psStack_1070 = length;
  pcStack_106c = var_18;
  pBStack_1068 = var_9;
  pcStack_1064 = var_24;
  if (var_12 != (type_2 *)0x0) {
    if (*(int *)(var_12->magick + 0xed4) == -0x54535255) {
      if (*(int *)(var_12->magick + 0xed0) != 0) {
        (**(type_11 **)(var_15 + 0x35d170))
                  (0x8000,*(int *)(var_15 + 0x35c870) + 0x1ad8,
                   *(int *)(var_15 + 0x35c870) + 0x24b4,0x985);
      }
      unaff_s0 = var_16;
      var_8 = var_17;
      length = psVar26;
      if (var_16 == (type_2 *)0x0) goto LAB_0004c5a4;
      var_13 = *(int *)(var_15 + 0x35c870);
      if (var_16->signature == 0xabacadab) {
        var_24 = *(type_11 **)(var_15 + 0x35d12c);
        if (var_17 != (type_3 *)0x0) {
          *psVar26 = 0;
          var_9 = (type_10 *)var_16->magick;
          unaff_s2 = (type_1 *)(*var_24)(var_12);
          uVar6 = (**(type_11 **)(var_15 + 0x35d208))(var_16);
          (**(type_11 **)(var_15 + 0x35d568))(unaff_s2,uVar6,var_17);
          if (unaff_s2->magick[0] != '\0') {
            (**(type_11 **)(var_15 + 0x35d7cc))(var_9,unaff_s2->magick,0x1000);
          }
          var_18 = (char *)(**(type_11 **)(var_15 + 0x35d39c))(var_9,var_17);
          if (var_18 == (char *)0x0) {
            var_12 = (type_2 *)0x0;
            (**(type_11 **)(var_15 + 0x35ceb0))
                      (var_17,*(int *)(var_15 + 0x35c870) + 0x1ad8,
                       *(int *)(var_15 + 0x35c870) + 0x24b4,0x994);
            (**(type_11 **)(var_15 + 0x35d578))(unaff_s2);
          }
          else {
            var_13 = (**(type_11 **)(var_15 + 0x35cc9c))(var_18);
            if (var_13 == 0) {
              (**(type_11 **)(var_15 + 0x35d578))(unaff_s2);
              var_12 = (type_2 *)(**(type_11 **)(var_15 + 0x35d45c))(var_12,var_16,psVar26,var_17);
            }
            else {
              (**(type_11 **)(var_15 + 0x35d7cc))(unaff_s2->magick,var_9,0x1000);
              var_13 = (**(type_11 **)(var_15 + 0x35d704))(var_18);
              var_21 = var_16;
              if (var_13 == 0) {
                var_18 = var_19 + 0x1000;
                var_13 = (**(type_11 **)(var_15 + 0x35cdd4))(var_18);
                if (var_13 == -1) {
                  puVar14 = (type_5 *)(**(type_11 **)(var_15 + 0x35d940))();
                  var_21 = (type_2 *)(**(type_11 **)(var_15 + 0x35d37c))(*puVar14);
                  var_12 = (type_2 *)0x0;
                  (**(type_11 **)(var_15 + 0x35ceb0))
                            (var_17,*(int *)(var_15 + 0x35c870) + 0x1ad8,
                             *(int *)(var_15 + 0x35c870) + 0x24b4,0x9cb);
                  (**(type_11 **)(var_15 + 0x35d004))(var_21);
                }
                else {
                  var_20 = (type_6 *)(**(type_11 **)(var_15 + 0x35d768))
                                             (var_13,*(int *)(var_15 + 0x35c870) + 0xe98);
                  unaff_s2->file = var_20;
                  if (var_20 == (type_6 *)0x0) {
LAB_0004c308:
                    var_12 = (type_2 *)0x0;
                  }
                  else {
                    (**(type_11 **)(var_15 + 0x35cd0c))
                              (var_19,0x1000,*(int *)(var_15 + 0x35c870) + 0x1d10,var_9);
                    var_21 = (type_2 *)(**(type_11 **)(var_15 + 0x35cc0c))
                                                (unaff_s2,var_16,var_19,var_17);
                    (**(type_11 **)(var_15 + 0x35d618))(var_16);
                    (**(type_11 **)(var_15 + 0x35d32c))(unaff_s2->file);
                    if (var_21 == (type_2 *)0x0) goto LAB_0004c308;
                    var_12 = (type_2 *)(**(type_11 **)(var_15 + 0x35ccb4))
                                                (var_18,0xffffffff,psVar26,var_17);
                  }
                  (**(type_11 **)(var_15 + 0x35cf2c))(var_18);
                }
              }
              else {
                var_24 = *(type_11 **)(var_15 + 0x35d49c);
                unaff_s2->length = 0;
                var_18 = var_16->filename;
                var_22 = (void *)(*var_24)(0x10000,1);
                unaff_s2->blob = var_22;
                if (var_22 == (void *)0x0) {
                  (**(type_11 **)(var_15 + 0x35ceb0))
                            (var_17,*(int *)(var_15 + 0x35c870) + 0x1ad8,
                             *(int *)(var_15 + 0x35c870) + 0x24b4,0x9a9);
                  var_12 = (type_2 *)0x0;
                }
                else {
                  (**(type_11 **)(var_15 + 0x35d618))(var_16);
                  var_24 = *(type_11 **)(var_15 + 0x35cc0c);
                  var_16->blob->exempt = MagickTrue;
                  var_16->filename[0] = '\0';
                  var_21 = (type_2 *)(*var_24)(unaff_s2,var_16,var_18,var_17);
                  var_54 = var_16->blob;
                  var_24 = *(type_11 **)(var_15 + 0x35d6fc);
                  *psVar26 = var_54->length;
                  var_13 = (*var_24)(var_54);
                  if (var_13 == 0) {
                    var_22 = (void *)(**(type_11 **)(var_15 + 0x35cf50))(unaff_s2->blob);
                    unaff_s2->blob = var_22;
                    var_12 = (type_2 *)0x0;
                  }
                  else if (var_21 == (type_2 *)0x0) {
                    var_12 = (type_2 *)(**(type_11 **)(var_15 + 0x35cf50))(var_13);
                  }
                  else {
                    var_12 = (type_2 *)(**(type_11 **)(var_15 + 0x35d3b0))(var_13,*psVar26 + 1,1);
                  }
                }
              }
              (**(type_11 **)(var_15 + 0x35d578))(unaff_s2);
              var_16 = var_21;
            }
          }
          unaff_s0 = var_16;
          if (var_23 == var_4->severity) {
            return var_12;
          }
          goto LAB_0004c598;
        }
        goto LAB_0004c5c8;
      }
    }
    else {
      (**(type_11 **)(var_15 + 0x35d598))
                (*(int *)(var_15 + 0x35c870) + 0xda0,*(int *)(var_15 + 0x35c870) + 0x1ad8,0x983,
                 *(int *)(var_15 + 0x35c870) + 0x24c4);
LAB_0004c598:
      (**(type_11 **)(var_15 + 0x35cff4))();
LAB_0004c5a4:
      var_13 = *(int *)(var_15 + 0x35c870) + 0x24c4;
      (**(type_11 **)(var_15 + 0x35d598))
                (*(int *)(var_15 + 0x35c870) + 0x1e48,*(int *)(var_15 + 0x35c870) + 0x1ad8,0x987,
                 var_13);
LAB_0004c5c8:
      var_13 = var_13 + 0x24c4;
      (**(type_11 **)(var_15 + 0x35d598))
                (*(int *)(var_15 + 0x35c870) + 0x1cac,*(int *)(var_15 + 0x35c870) + 0x1ad8,0x989,
                 var_13);
    }
    (**(type_11 **)(var_15 + 0x35d598))
              (*(int *)(var_15 + 0x35c870) + 0x1e64,*(int *)(var_15 + 0x35c870) + 0x1ad8,0x988,
               var_13 + 0x24c4);
    var_25 = var_12;
  }
  var_33 = (type_3 *)0x982;
  var_24 = *(type_11 **)(var_15 + 0x35d598);
  var_17 = (type_3 *)(*(int *)(var_15 + 0x35c870) + 0x24c4);
  var_12 = (type_2 *)(*(int *)(var_15 + 0x35c870) + 0xd78);
  (*var_24)(var_12,*(int *)(var_15 + 0x35c870) + 0x1ad8);
  if (var_12 == (type_2 *)0x0) {
LAB_0004ca88:
    var_12 = unaff_s0;
    (**(type_11 **)(var_24 + 0x35cfdc))
              (*(int *)(var_24 + 0x35c2b4) + 0xdd0,*(int *)(var_24 + 0x35c2b4) + 0x1ad8,0x13e4,
               *(int *)(var_24 + 0x35c2b4) + 0x2280);
LAB_0004caac:
    var_33 = var_4;
    var_17 = var_8;
    (**(type_11 **)(var_24 + 0x35cfdc))
              (*(int *)(var_24 + 0x35c2bc) + -0x3784,*(int *)(var_24 + 0x35c2b4) + 0x1ad8,0x13e5,
               *(int *)(var_24 + 0x35c2b4) + 0x2280);
  }
  else {
    if (var_12->signature != 0xabacadab) goto LAB_0004caac;
    if (var_12->debug != var_5) {
      (**(type_11 **)(var_24 + 0x35cbb4))
                (0x8000,*(int *)(var_24 + 0x35c2b4) + 0x1ad8,*(int *)(var_24 + 0x35c2b4) + 0x2270,
                 0x13e7);
    }
    var_25 = (type_2 *)var_12->blob;
    if (var_25 == (type_2 *)0x0) {
      (**(type_11 **)(var_24 + 0x35cfdc))
                (*(int *)(var_24 + 0x35c2b4) + 0x1aec,*(int *)(var_24 + 0x35c2b4) + 0x1ad8,0x13e8,
                 *(int *)(var_24 + 0x35c2b4) + 0x2280);
      unaff_s0 = var_12;
      var_8 = var_17;
      var_4 = var_33;
      goto LAB_0004ca88;
    }
    var_26 = *(type_7 *)&(var_25->alpha_color).fuzz;
    if (var_26 != var_27) {
      if (var_26 < var_28) {
        if (var_26 < var_29) {
          if (var_26 != var_30) {
            return (void *)0x1;
          }
          var_32 = (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
          if (-1 < (type_13)var_32) {
            if (var_31(var_33,var_17) <= var_32) {
              return (void *)0x1;
            }
            var_13 = (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
            if (-1 < var_13) {
              var_13 = (**(type_11 **)(var_24 + 0x35cb28))
                                (*(int *)(var_24 + 0x35c2b8) + -0x3688,1,1,
                                 ((type_15 *)((int)&(var_25->alpha_color).fuzz + 4))->file);
              if ((var_25->alpha_color).colorspace != var_5) {
                var_10 = (**(type_11 **)(var_24 + 0x35d3a0))
                                  (((type_15 *)((int)&(var_25->alpha_color).fuzz + 4))->file);
                if (var_10 == -1) {
                  return (void *)0x0;
                }
                (**(type_11 **)(var_24 + 0x35ca14))(var_10);
              }
              (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
              return (void *)(type_8)(var_13 == 1);
            }
            return (void *)0x1;
          }
        }
      }
      else {
        if (var_26 != var_28) {
          return (void *)0x1;
        }
        if (var_33 == (type_3 *)0x0) {
          uVar6 = *(type_5 *)&(var_25->border_color).fuzz;
          if (var_25->orientation == var_5) {
            var_36 = *(type_11 **)(var_24 + 0x35cdf4);
            var_25->colorspace = (type_16)var_17;
            uVar6 = (*var_36)(uVar6,(type_17 *)((int)&var_17->severity + 1),1);
            *(type_5 *)&(var_25->border_color).fuzz = uVar6;
            var_34(var_12);
            if (*(int *)&(var_25->border_color).fuzz != 0) {
              return (void *)0x1;
            }
            (**(type_11 **)(var_24 + 0x35d140))(var_25);
            return (void *)0x0;
          }
          (**(type_11 **)(var_24 + 0x35d09c))(uVar6,var_25->storage_class);
          (**(type_11 **)(var_24 + 0x35d0e0))(5);
          var_35 = (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
          if (-1 < var_35) {
            if ((int)((type_12)var_35 >> 0x20) != 0) {
              return (void *)0x1;
            }
            if (var_17 <= (type_3 *)var_35) {
              return (void *)0x1;
            }
            var_35 = (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
            var_13 = (**(type_11 **)(var_24 + 0x35cb28))
                              (*(int *)(var_24 + 0x35c2b8) + -0x3688,1,1,
                               ((type_15 *)((int)&(var_25->alpha_color).fuzz + 4))->file);
            if ((var_25->alpha_color).colorspace != var_5) {
              var_10 = (**(type_11 **)(var_24 + 0x35d3a0))
                                (((type_15 *)((int)&(var_25->alpha_color).fuzz + 4))->file);
              if (var_10 == -1) {
                return (void *)0x0;
              }
              if (var_35 < 0) {
                return (void *)0x0;
              }
              (**(type_11 **)(var_24 + 0x35ca14))
                        (var_10,var_17 < (type_3 *)((int)var_17 - (int)var_35),
                         (int)((type_12)var_35 >> 0x20),(int)var_35);
            }
            (**(type_11 **)(var_24 + 0x35ccfc))(var_12);
            if (var_13 == 1) {
              (**(type_11 **)(var_24 + 0x35d1f0))(5);
              uVar6 = (**(type_11 **)(var_24 + 0x35d3a0))
                                (((type_15 *)((int)&(var_25->alpha_color).fuzz + 4))->file);
              uVar6 = (**(type_11 **)(var_24 + 0x35d160))(uVar6,1,0,0);
              *(type_5 *)&(var_25->border_color).fuzz = uVar6;
              var_25->colorspace = (type_16)var_17;
              var_25->storage_class = (type_18)var_17;
              var_34(var_12);
              return (void *)0x1;
            }
          }
        }
      }
      return (void *)0x0;
    }
  }
  var_4 = (type_3 *)&DAT_000013e9;
  var_36 = *(type_11 **)(var_24 + 0x35cfdc);
  var_38 = (type_1 *)(*(int *)(var_24 + 0x35c2b4) + 0x1ad8);
  var_16 = (type_2 *)(*(int *)(var_24 + 0x35c2b4) + 0x1b10);
  (*var_36)();
  if (var_16 == (type_2 *)0x0) {
    var_24 = *(type_11 **)(var_36 + 0x35cb14);
    var_13 = *(int *)(var_36 + 0x35bdec) + 0x21d8;
    (*var_24)(*(int *)(var_36 + 0x35bdec) + 0xdd0,*(int *)(var_36 + 0x35bdec) + 0x1ad8,0x15ed,
               var_13);
    var_16 = var_25;
LAB_0004cf00:
    var_13 = var_13 + 0x21d8;
    (*var_24)(*(int *)(var_36 + 0x35bdec) + 0x1b10,*(int *)(var_36 + 0x35bdec) + 0x1ad8,0x15f0,
               var_13);
LAB_0004cf1c:
    (**(type_11 **)(var_36 + 0x35cb14))
              (*(int *)(var_36 + 0x35bdec) + 0x1aec,*(int *)(var_36 + 0x35bdec) + 0x1ad8,0x15ef,
               var_13 + 0x21d8);
LAB_0004cf3c:
    (**(type_11 **)(var_36 + 0x35cb14))
              (*(int *)(var_36 + 0x35bdf4) + -0x3784,*(int *)(var_36 + 0x35bdec) + 0x1ad8,0x15ee,
               *(int *)(var_36 + 0x35bdec) + 0x21d8);
  }
  else {
    if (var_16->signature != 0xabacadab) goto LAB_0004cf3c;
    var_12 = (type_2 *)var_16->blob;
    var_13 = *(int *)(var_36 + 0x35bdec);
    if (var_12 == (type_2 *)0x0) goto LAB_0004cf1c;
    var_37 = *(type_8 *)&(var_12->alpha_color).fuzz;
    var_24 = *(type_11 **)(var_36 + 0x35cb14);
    if (var_37 == 0) goto LAB_0004cf00;
    if (var_38 == (type_1 *)0x0) {
      return (void *)0x0;
    }
    unaff_s2 = var_38;
    var_33 = var_4;
    if (var_4 != (type_3 *)0x0) {
      if (var_37 < 9) {
                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        var_22 = (void *)(*(var_36 +
                           (int)&DWORD_00363dbc +
                           *(int *)(*(int *)(var_36 + 0x35bdec) + 0x20b4 + var_37 * 4)))();
        return var_22;
      }
      return (void *)0x0;
    }
  }
  uVar6 = 0x15f3;
  var_39 = *(type_11 **)(var_36 + 0x35cb14);
  var_38 = (type_1 *)(*(int *)(var_36 + 0x35bdec) + 0x1ad8);
  var_40 = (type_2 *)(*(int *)(var_36 + 0x35bdec) + 0x1fa8);
  (*var_39)();
  var_24 = var_39 + 0x363930;
  piStack_3224 = *(int **)(var_39 + 0x35c2b0);
  var_49 = *piStack_3224;
  var_21 = var_16;
  var_41 = var_24;
  uStack_3220 = uVar6;
  pIStack_3168 = var_12;
  pIStack_3164 = var_16;
  pIStack_3160 = unaff_s2;
  pEStack_315c = var_17;
  pEStack_3158 = var_33;
  psStack_3154 = length;
  pcStack_3150 = var_18;
  pBStack_314c = var_9;
  if (var_40 == (type_2 *)0x0) {
LAB_0004d5d8:
    var_38 = unaff_s2;
    var_40 = var_12;
    var_4 = (type_3 *)0x664;
    var_37 = *(int *)(var_24 + -0x7fd0) + 0x260c;
    var_12 = (type_2 *)(*(int *)(var_24 + -0x7fd0) + 0x1ad8);
    var_13 = *(int *)(var_24 + -0x7fc8) + -0x37b0;
    (**(type_11 **)(var_24 + -0x72a8))();
  }
  else {
    if (var_40->signature != 0xabacadab) {
LAB_0004d590:
      var_38 = unaff_s2;
      (**(type_11 **)(var_24 + -0x72a8))
                (*(int *)(var_24 + -0x7fc8) + -0x3784,*(int *)(var_24 + -0x7fd0) + 0x1ad8,0x665,
                 *(int *)(var_24 + -0x7fd0) + 0x260c);
LAB_0004d5b4:
      (**(type_11 **)(var_24 + -0x72a8))
                (*(int *)(var_24 + -0x7fd0) + 0x1b68,*(int *)(var_24 + -0x7fd0) + 0x1ad8,0x666,
                 *(int *)(var_24 + -0x7fd0) + 0x260c);
      var_12 = var_40;
      var_21 = var_16;
      unaff_s2 = var_38;
      goto LAB_0004d5d8;
    }
    if (var_38 == (type_1 *)0x0) goto LAB_0004d5b4;
    var_37 = 0x667;
    var_17 = *(type_3 **)(var_39 + 0x35b960);
    var_33 = *(type_3 **)(var_39 + 0x35b960);
    iStack_3248 = *(int *)(var_39 + 0x35b964) + -0x62ac;
    pIStack_3244 = var_38;
    pEStack_321c = var_33;
    var_44 = var_17;
    (**(type_11 **)(var_39 + 0x35c260))(0x8000,&var_33[0xd6].semaphore,var_17 + 0x130);
    var_13 = (**(type_11 **)(var_41 + -0x7b00))(4,2,var_38);
    if (var_13 == 0) {
      puVar14 = (type_5 *)(**(type_11 **)(var_41 + -0x6f00))();
      var_37 = 0x66c;
      *puVar14 = 1;
      var_4 = var_17 + 0x130;
      var_12 = (type_2 *)&var_33[0xd6].semaphore;
      var_48 = *(int *)(var_41 + -0x7fd0) + 0x3e28;
      pIStack_3244 = (type_1 *)(*(int *)(var_41 + -0x7fd0) + 0x1e9c);
      iStack_3248 = 499;
      pIStack_323c = var_38;
      (**(type_11 **)(var_41 + -0x7990))(uStack_3220);
      var_21 = (type_2 *)0x0;
    }
    else {
      var_17 = (type_3 *)
                (**(type_11 **)(var_41 + -0x6ee4))(**(type_5 **)(var_41 + -0x78ec));
      var_13 = (**(type_11 **)(var_41 + -0x77a0))
                        (var_38,*(int *)(var_41 + -0x7fc4) + -0x7ac);
      if (var_13 == 0) {
        var_24 = *(type_11 **)(var_41 + -0x6f00);
        if (var_17 == (type_3 *)0xffffffff) goto LAB_0004d3d0;
LAB_0004d08c:
        var_13 = (**(type_11 **)(var_41 + -0x7a08))(3,var_17,auStack_3210);
        if (((var_13 != 0) ||
            (var_4 = (type_3 *)((int)&var_42[-1].signature + 3),
            (type_8)(var_4 < var_42) + var_43 + -1 != 0)) ||
           (var_24 = *(type_11 **)(var_41 + -0x73a4), var_33 = var_42,
           (type_3 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) < var_4)) {
          var_24 = *(type_11 **)(var_41 + -0x73a4);
          var_33 = (type_3 *)&__DT_SYMTAB[0x16e].st_size;
        }
        var_16 = (type_2 *)(*var_24)(var_33,1);
        if (var_16 != (type_2 *)0x0) {
          length = (size_t *)&DAT_00000007;
LAB_0004d0d0:
          var_24 = *(type_11 **)(var_41 + -0x72fc);
LAB_0004d0d4:
          do {
            var_12 = var_16;
            var_4 = var_33;
            var_45 = (*var_24)(var_17);
            if ((int)var_45 < 1) {
              piVar12 = (int *)(**(type_11 **)(var_41 + -0x6f00))();
              if (*piVar12 == 4) {
                var_45 = 0;
                goto LAB_0004d114;
              }
LAB_0004d29c:
              var_13 = (**(type_11 **)(var_41 + -0x7754))(var_17);
              if (var_13 == -1) {
                puVar14 = (type_5 *)(**(type_11 **)(var_41 + -0x6f00))();
                var_40 = (type_2 *)(**(type_11 **)(var_41 + -0x74c4))(*puVar14);
                var_37 = 0x696;
                var_4 = var_44 + 0x130;
                var_12 = (type_2 *)&pEStack_321c[0xd6].semaphore;
                var_48 = *(int *)(var_41 + -0x7fd0) + 0xe78;
                pIStack_3244 = (type_1 *)(*(int *)(var_41 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                pIStack_323c = var_38;
                pIStack_3238 = var_40;
                (**(type_11 **)(var_41 + -0x7990))(uStack_3220);
                (**(type_11 **)(var_41 + -0x783c))(var_40);
              }
              var_21 = (type_2 *)0x1;
              (**(type_11 **)(var_41 + -0x78f0))(var_16);
              goto LAB_0004d2c8;
            }
LAB_0004d114:
            var_24 = var_41;
            var_9 = var_40->blob;
            var_4 = pEStack_321c;
            if (var_9 == (type_10 *)0x0) {
LAB_0004d570:
              (**(type_11 **)(var_24 + -0x72a8))
                        (*(int *)(var_24 + -0x7fd0) + 0x1aec,&var_4[0xd6].semaphore,0x638,
                         *(int *)(var_24 + -0x7fd0) + 0x25f0);
              unaff_s2 = var_38;
              goto LAB_0004d590;
            }
            if (var_9->type == var_27) {
              var_4 = (type_3 *)
                        (**(type_11 **)(var_41 + -0x72a8))
                                  (*(int *)(var_41 + -0x7fd0) + 0x1b10,
                                   &pEStack_321c[0xd6].semaphore,0x639,
                                   *(int *)(var_41 + -0x7fd0) + 0x25f0);
              goto LAB_0004d570;
            }
            var_18 = (char *)((int)var_45 >> 0x1f);
            if (var_9->type != var_28) {
              var_46 = (**(type_11 **)(var_41 + -0x6f1c))(var_40,var_45,var_16);
LAB_0004d214:
              var_24 = *(type_11 **)(var_41 + -0x72fc);
              if (var_45 != var_46) {
                puVar14 = (type_5 *)(**(type_11 **)(var_41 + -0x6f00))();
                var_40 = (type_2 *)(**(type_11 **)(var_41 + -0x74c4))(*puVar14);
                var_37 = 0x690;
                var_4 = var_44 + 0x130;
                var_12 = (type_2 *)&pEStack_321c[0xd6].semaphore;
                var_48 = *(int *)(var_41 + -0x7fd0) + 0xe78;
                pIStack_3244 = (type_1 *)(*(int *)(var_41 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                pIStack_323c = var_38;
                pIStack_3238 = var_40;
                (**(type_11 **)(var_41 + -0x7990))(uStack_3220);
                (**(type_11 **)(var_41 + -0x783c))(var_40);
                goto LAB_0004d29c;
              }
              goto LAB_0004d0d4;
            }
            var_46 = (type_8)var_9->offset;
            var_37 = var_9->extent;
            if ((var_18 + (type_8)(var_46 + var_45 < var_46) + *(int *)&var_9->offset !=
                 (char *)0x0) || (var_47 = var_45, var_37 <= var_46 + var_45)) {
              var_24 = *(type_11 **)(var_41 + -0x74b0);
              var_37 = var_37 + var_9->quantum + var_45;
              var_9->quantum = var_9->quantum << 1;
              uStack_3214 = var_45;
              var_13 = (*var_24)(var_40,var_45,0);
              if (var_13 == 0) {
                var_46 = 0;
                goto LAB_0004d214;
              }
              var_46 = (type_8)var_9->offset;
              var_47 = uStack_3214;
            }
            (**(type_11 **)(var_41 + -0x7558))(var_9->data + var_46,var_16,var_47);
            var_13 = *(int *)&var_9->offset;
            var_46 = var_45 + (int)var_9->offset;
            var_47 = var_9->length;
            *(type_8 *)((int)&var_9->offset + 4) = var_46;
            var_11 = var_18 + (type_8)(var_46 < var_45) + var_13;
            *(char **)&var_9->offset = var_11;
            if ((int)var_11 < 0) goto LAB_0004d0d0;
            if ((var_11 != (char *)0x0) ||
               (var_24 = *(type_11 **)(var_41 + -0x72fc), var_47 <= var_46)) goto LAB_0004d1b4;
          } while( true );
        }
        (**(type_11 **)(var_41 + -0x7754))(var_17);
        puVar14 = (type_5 *)(**(type_11 **)(var_41 + -0x6f00))();
        var_40 = (type_2 *)(**(type_11 **)(var_41 + -0x74c4))(*puVar14);
        var_37 = 0x680;
        var_48 = *(int *)(var_41 + -0x7fd0);
        var_24 = *(type_11 **)(var_41 + -0x7990);
        pIStack_3244 = (type_1 *)(*(int *)(var_41 + -0x7fd0) + 0x16f8);
        iStack_3248 = 400;
      }
      else {
        var_17 = (type_3 *)(**(type_11 **)(var_41 + -0x7aa8))(var_38,0,0);
        if (var_17 != (type_3 *)0xffffffff) goto LAB_0004d08c;
        var_24 = *(type_11 **)(var_41 + -0x6f00);
LAB_0004d3d0:
        puVar14 = (type_5 *)(*var_24)();
        var_40 = (type_2 *)(**(type_11 **)(var_41 + -0x74c4))(*puVar14);
        var_37 = 0x675;
        var_48 = *(int *)(var_41 + -0x7fd0);
        var_24 = *(type_11 **)(var_41 + -0x7990);
        pIStack_3244 = (type_1 *)(*(int *)(var_41 + -0x7fd0) + 0x1ec4);
        iStack_3248 = 0x1b3;
      }
      var_48 = var_48 + 0xe78;
      var_4 = var_44 + 0x130;
      var_12 = (type_2 *)&pEStack_321c[0xd6].semaphore;
      var_21 = (type_2 *)0x0;
      pIStack_323c = var_38;
      pIStack_3238 = var_40;
      (*var_24)(uStack_3220);
      (**(type_11 **)(var_41 + -0x783c))(var_40);
    }
LAB_0004d2c8:
    var_13 = var_49;
    var_24 = var_41;
    if (var_49 == *piStack_3224) {
      return var_21;
    }
  }
  var_24 = *(type_11 **)(var_24 + -0x784c);
  var_36 = InjectImageBlob;
  (*var_24)();
  var_10 = iStack_3248;
  piVar12 = *(int **)(var_24 + 0x35bc28);
  var_56 = *piVar12;
  pIStack_3280 = var_40;
  pIStack_327c = var_21;
  pIStack_3278 = var_38;
  pEStack_3274 = var_17;
  pEStack_3270 = var_33;
  psStack_326c = length;
  pcStack_3268 = var_18;
  pBStack_3264 = var_9;
  uStack_3260 = var_45;
  pcStack_325c = var_36;
  if (var_13 == 0) {
LAB_0004ddfc:
    var_10 = *(int *)(var_24 + 0x35b2d8) + 0x1ad8;
    var_13 = *(int *)(var_24 + 0x35b2d8) + 0x1c88;
    (**(type_11 **)(var_24 + 0x35c000))(var_13,var_10,0xabf,*(int *)(var_24 + 0x35b2d8) + 0x2474);
    uVar25 = (type_9)var_10;
  }
  else {
    if (*(int *)(var_13 + 0x3214) != -0x54535255) {
LAB_0004ddd8:
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2d8) + 0xda0,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac0,
                 *(int *)(var_24 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddfc;
    }
    if (var_12 == (type_2 *)0x0) {
LAB_0004ddb4:
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2d8) + 0xdd0,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac1,
                 *(int *)(var_24 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddd8;
    }
    if (var_12->signature != 0xabacadab) {
LAB_0004dd4c:
      var_50 = *(int *)(var_24 + 0x35b2d8) + 0x2474;
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2e0) + -0x3784,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac2,
                 var_50);
LAB_0004dd70:
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2d8) + 0x1fe4,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac6,
                 var_50 + 0x2474);
LAB_0004dd90:
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2d8) + 0x1fc4,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac5,
                 *(int *)(var_24 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddb4;
    }
    if (var_12->debug != var_5) {
      (**(type_11 **)(var_24 + 0x35bbd8))
                (0x8000,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,*(int *)(var_24 + 0x35b2d8) + 0x2464,
                 0xac4);
    }
    if (var_4 == (type_3 *)0x0) goto LAB_0004dd90;
    var_50 = *(int *)(var_24 + 0x35b2d8);
    if (var_4[0x19b].description != (char *)0xabacadab) goto LAB_0004dd70;
    if (var_10 == 0) {
LAB_0004dd2c:
      (**(type_11 **)(var_24 + 0x35c000))
                (*(int *)(var_24 + 0x35b2d8) + 0x1cac,*(int *)(var_24 + 0x35b2d8) + 0x1ad8,0xac7,
                 var_50 + 0x2474);
      goto LAB_0004dd4c;
    }
    var_50 = (**(type_11 **)(var_24 + 0x35b83c))(auStack_4284);
    if ((var_50 == -1) ||
       (var_50 = (**(type_11 **)(var_24 + 0x35c1d0))(var_50,*(int *)(var_24 + 0x35b2d8) + 0xe98),
       var_50 == 0)) {
      (**(type_11 **)(var_24 + 0x35c234))(var_12->filename,auStack_4284,0x1000);
      puVar14 = (type_5 *)(**(type_11 **)(var_24 + 0x35c3a8))();
      uVar6 = (**(type_11 **)(var_24 + 0x35bde4))(*puVar14);
      var_13 = *(int *)(var_24 + 0x35b2d8) + 0x1ad8;
      (**(type_11 **)(var_24 + 0x35b918))(var_10,var_13,*(int *)(var_24 + 0x35b2d8) + 0x2464,0xad0);
      uVar25 = (type_9)var_13;
      var_22 = (void *)0x0;
      (**(type_11 **)(var_24 + 0x35ba6c))(uVar6);
    }
    else {
      uVar25 = 0;
      var_51 = (**(type_11 **)(var_24 + 0x35c228))(var_4,0,0,0);
      if (var_51 == 0) {
        var_22 = (void *)0x0;
        (**(type_11 **)(var_24 + 0x35bd94))(var_50);
        (**(type_11 **)(var_24 + 0x35b994))(auStack_4284);
      }
      else {
        (**(type_11 **)(var_24 + 0x35b774))
                  (var_51 + 0x340,0x1000,*(int *)(var_24 + 0x35b2d8) + 0x1d10,var_37);
        (**(type_11 **)(var_24 + 0x35ba08))(var_51);
        uVar6 = (**(type_11 **)(var_24 + 0x35c1d8))(0);
        var_36 = *(type_11 **)(var_24 + 0x35bb94);
        *(type_5 *)(var_51 + 0x3348) = uVar6;
        uVar6 = (*var_36)(var_13);
        (**(type_11 **)(var_24 + 0x35bec8))(uVar6,var_50);
        var_13 = var_51;
        var_22 = (void *)(**(type_11 **)(var_24 + 0x35b96c))(uVar6,var_51,var_10);
        uVar25 = (type_9)var_13;
        (**(type_11 **)(var_24 + 0x35bfe0))(uVar6);
        (**(type_11 **)(var_24 + 0x35b944))(var_51);
        (**(type_11 **)(var_24 + 0x35bd94))(var_50);
        if (var_22 == (void *)0x0) {
          (**(type_11 **)(var_24 + 0x35b994))(auStack_4284);
        }
        else {
          var_13 = (**(type_11 **)(var_24 + 0x35b800))(auStack_4284,0,0);
          if (var_13 == -1) {
            var_22 = (void *)0x0;
            (**(type_11 **)(var_24 + 0x35b994))(auStack_4284);
            puVar14 = (type_5 *)(**(type_11 **)(var_24 + 0x35c3a8))();
            uVar6 = (**(type_11 **)(var_24 + 0x35bde4))(*puVar14);
            var_13 = *(int *)(var_24 + 0x35b2d8) + 0x1ad8;
            (**(type_11 **)(var_24 + 0x35b918))
                      (var_10,var_13,*(int *)(var_24 + 0x35b2d8) + 0x2464,0xaf1);
            uVar25 = (type_9)var_13;
            (**(type_11 **)(var_24 + 0x35ba6c))(uVar6);
          }
          else {
            var_50 = (**(type_11 **)(var_24 + 0x35b8a0))(3,var_13,auStack_4328);
            if (((var_50 == 0) && ((type_8)(var_52 - 1 < var_52) + var_53 + -1 == 0))
               && (var_52 - 1 < 0x13fff)) {
              uStack_4330 = var_52;
            }
            else {
              uStack_4330 = 0x14000;
            }
            var_51 = (**(type_11 **)(var_24 + 0x35bf04))(uStack_4330,1);
            if (var_51 != 0) {
              while( true ) {
                var_50 = var_51;
                var_37 = (**(type_11 **)(var_24 + 0x35bfac))(var_13,var_51,uStack_4330);
                uVar25 = (type_9)var_50;
                if ((int)var_37 < 1) {
                  piVar16 = (int *)(**(type_11 **)(var_24 + 0x35c3a8))();
                  if (*piVar16 != 4) {
                    var_13 = (**(type_11 **)(var_24 + 0x35bb54))(var_13);
                    if (var_13 == -1) {
                      uVar6 = (**(type_11 **)(var_24 + 0x35bde4))(*piVar16);
                      var_13 = *(int *)(var_24 + 0x35b2d8) + 0x1ad8;
                      (**(type_11 **)(var_24 + 0x35b918))
                                (var_10,var_13,*(int *)(var_24 + 0x35b2d8) + 0x2464,0xb0d);
                      uVar25 = (type_9)var_13;
                      (**(type_11 **)(var_24 + 0x35ba6c))(uVar6);
                    }
                    (**(type_11 **)(var_24 + 0x35b994))(auStack_4284);
                    (**(type_11 **)(var_24 + 0x35b9b8))(var_51);
                    goto LAB_0004d764;
                  }
                  var_37 = 0;
                }
                var_54 = var_12->blob;
                var_50 = *(int *)(var_24 + 0x35b2d8);
                if (var_54 == (type_10 *)0x0) goto LAB_0004dd0c;
                if (var_54->type == var_27) break;
                if (var_54->type == var_28) {
                  var_46 = (type_8)var_54->offset;
                  if (((type_8)(var_46 + var_37 < var_46) +
                       *(int *)&var_54->offset + ((int)var_37 >> 0x1f) == 0) &&
                     (var_46 + var_37 < var_54->extent)) {
LAB_0004da64:
                    (**(type_11 **)(var_24 + 0x35bd50))(var_54->data + var_46,var_51,var_37);
                    var_50 = *(int *)&var_54->offset;
                    var_46 = var_37 + (int)var_54->offset;
                    var_47 = var_54->length;
                    *(type_8 *)((int)&var_54->offset + 4) = var_46;
                    var_50 = (type_8)(var_46 < var_37) + ((int)var_37 >> 0x1f) + var_50;
                    *(int *)&var_54->offset = var_50;
                    if ((var_50 < 0) || ((var_50 == 0 && (var_46 < var_47)))) {
                      var_22 = (void *)0x1;
                    }
                    else {
                      var_54->length = var_46;
                      var_22 = (void *)0x1;
                    }
                  }
                  else {
                    var_55 = var_54->quantum;
                    var_36 = *(type_11 **)(var_24 + 0x35bdf8);
                    var_54->quantum = var_55 << 1;
                    var_50 = (*var_36)(var_12,var_37,0,var_54->extent + var_55 + var_37);
                    if (var_50 != 0) {
                      var_46 = (type_8)var_54->offset;
                      goto LAB_0004da64;
                    }
                    var_22 = (void *)(type_8)(var_37 == 0);
                  }
                }
                else {
                  var_46 = (**(type_11 **)(var_24 + 0x35c38c))(var_12,var_37,var_51);
                  var_22 = (void *)(type_8)(var_37 == var_46);
                }
              }
              var_50 = var_50 + 0x25f0;
              (**(type_11 **)(var_24 + 0x35c000))
                        (*(int *)(var_24 + 0x35b2d8) + 0x1b10,*(int *)(var_24 + 0x35b2d8) + 0x1ad8
                         ,0x639,var_50);
LAB_0004dd0c:
              var_50 = var_50 + 0x25f0;
              (**(type_11 **)(var_24 + 0x35c000))
                        (*(int *)(var_24 + 0x35b2d8) + 0x1aec,*(int *)(var_24 + 0x35b2d8) + 0x1ad8
                         ,0x638,var_50);
              goto LAB_0004dd2c;
            }
            var_22 = (void *)0x0;
            (**(type_11 **)(var_24 + 0x35b994))(auStack_4284);
            (**(type_11 **)(var_24 + 0x35bb54))(var_13);
            var_13 = *(int *)(var_24 + 0x35b2d8) + 0x1ad8;
            (**(type_11 **)(var_24 + 0x35b918))
                      (var_10,var_13,*(int *)(var_24 + 0x35b2d8) + 0x2464,0xafd);
            uVar25 = (type_9)var_13;
          }
        }
      }
    }
LAB_0004d764:
    var_13 = var_56;
    if (var_56 == *piVar12) {
      return var_22;
    }
  }
  var_24 = *(type_11 **)(var_24 + 0x35ba5c);
  (*var_24)();
  if (var_13 == 0) {
LAB_0004e038:
    var_10 = *(int *)(var_24 + 0x35aab4) + 0x21c8;
    (**(type_11 **)(var_24 + 0x35b7dc))
              (*(int *)(var_24 + 0x35aab4) + 0xdd0,*(int *)(var_24 + 0x35aab4) + 0x1ad8,0x16d4,
               var_10);
  }
  else {
    if (*(int *)(var_13 + 0x336c) != -0x54535255) {
LAB_0004e014:
      (**(type_11 **)(var_24 + 0x35b7dc))
                (*(int *)(var_24 + 0x35aabc) + -0x3784,*(int *)(var_24 + 0x35aab4) + 0x1ad8,0x16d5
                 ,*(int *)(var_24 + 0x35aab4) + 0x21c8);
      goto LAB_0004e038;
    }
    var_57 = *(type_8 **)(var_13 + 0x3348);
    var_10 = *(int *)(var_24 + 0x35aab4);
    if (var_57 == (type_8 *)0x0) {
      (**(type_11 **)(var_24 + 0x35b7dc))
                (*(int *)(var_24 + 0x35aab4) + 0x1aec,*(int *)(var_24 + 0x35aab4) + 0x1ad8,0x16d6,
                 var_10 + 0x21c8);
      goto LAB_0004e014;
    }
    var_37 = var_57[0x10];
    if (var_37 != 0) {
      if (var_37 - 1 < 3) {
        var_13 = (**(type_11 **)(var_24 + 0x35afcc))(uVar25,var_57[0x11]);
        if (var_13 != -1) {
          return (void *)0x1;
        }
        var_13 = (**(type_11 **)(var_24 + 0x35aef0))(var_57[0x11]);
        if (var_13 == 0) {
          return (void *)0x0;
        }
        if (var_57[0xe] == 0) {
          puVar18 = (type_8 *)(**(type_11 **)(var_24 + 0x35bb84))();
          if (*puVar18 != 0) {
            var_57[7] = *puVar18;
          }
        }
        var_57[0xe] = 1;
        return (void *)0x0;
      }
      if (var_37 != 7) {
        var_22 = (void *)(**(type_11 **)(var_24 + 0x35bb68))();
        return var_22;
      }
      var_46 = var_57[9];
      var_37 = var_46 + 1;
      if ((type_8)(var_37 < var_46) + var_57[8] == 0) {
        if (var_37 < var_57[1]) goto LAB_0004dee0;
        var_46 = var_57[2];
        var_37 = 0;
      }
      else {
        var_46 = var_57[2];
      }
      var_24 = *(type_11 **)(var_24 + 0x35b5d4);
      var_57[2] = var_46 << 1;
      var_13 = (*var_24)(var_13,var_37,0,var_57[1] + var_46 + 1);
      if (var_13 == 0) {
        return (void *)0x0;
      }
      var_46 = var_57[9];
LAB_0004dee0:
      *(type_9 *)(var_57[0x3c] + var_46) = uVar25;
      var_37 = var_57[9];
      var_46 = var_37 + 1;
      var_57[9] = var_46;
      var_37 = (type_8)(var_46 < var_37) + var_57[8];
      var_57[8] = var_37;
      if ((-1 < (int)var_37) && ((var_37 != 0 || (*var_57 <= var_46)))) {
        *var_57 = var_46;
        return (void *)0x1;
      }
      return (void *)0x1;
    }
  }
  var_36 = *(type_11 **)(var_24 + 0x35b7dc);
  var_13 = *(int *)(var_24 + 0x35aab4) + 0x1ad8;
  var_50 = *(int *)(var_24 + 0x35aab4) + 0x1b10;
  (*var_36)(var_50,var_13,0x16d7,var_10 + 0x21c8);
  piVar12 = *(int **)(var_36 + 0x35b1b4);
  var_10 = *piVar12;
  if (var_50 != 0) {
    if (*(int *)(var_50 + 0x336c) == -0x54535255) {
      var_57 = *(type_8 **)(var_50 + 0x3348);
      if (*(int *)(var_50 + 0x25c) == 1) {
        var_13 = var_58(var_59(var_60((char)var_13,(char)((type_8)var_13 >> 8)),
                                  (char)((type_8)var_13 >> 0x10)),(char)((type_8)var_13 >> 0x18));
        if (var_57 == (type_8 *)0x0) goto LAB_0004e2cc;
        if (var_57[0x10] == 0) goto LAB_0004e2a8;
        if (var_57[0x10] != 7) {
          puVar19 = (type_9 *)(**(type_11 **)(var_36 + 0x35b918))();
          goto LAB_0004e1b8;
        }
        var_37 = var_57[9];
        var_46 = var_37 + 4;
        if (((type_8)(var_46 < var_37) + var_57[8] == 0) &&
           (var_46 = (type_8)(var_46 < var_57[1]), var_46 != 0)) {
          var_46 = var_57[0x3c];
        }
        else {
          var_37 = var_57[2];
          var_24 = *(type_11 **)(var_36 + 0x35b384);
          var_57[2] = var_37 << 1;
          var_50 = (*var_24)(var_50,var_46,0,var_57[1] + var_37 + 4);
          if (var_50 == 0) goto LAB_0004e2a0;
          var_37 = var_57[9];
          var_46 = var_57[0x3c];
        }
LAB_0004e15c:
        *(int *)(var_46 + var_37) = var_13;
        var_37 = var_57[9];
        var_46 = var_37 + 4;
        var_57[9] = var_46;
        var_37 = (type_8)(var_46 < var_37) + var_57[8];
        var_57[8] = var_37;
        if (((int)var_37 < 0) || ((var_37 == 0 && (var_46 < *var_57)))) {
          puVar19 = &DAT_00000004;
        }
        else {
          *var_57 = var_46;
          puVar19 = &DAT_00000004;
        }
LAB_0004e1b8:
        if (var_10 == *piVar12) {
          return puVar19;
        }
        goto LAB_0004e338;
      }
      if (var_57 != (type_8 *)0x0) {
        if (var_57[0x10] != 0) {
          if (var_57[0x10] == 7) {
            var_37 = var_57[9];
            var_46 = var_37 + 4;
            if ((type_8)(var_46 < var_37) + var_57[8] == 0) {
              if (var_57[1] <= var_46) {
                var_37 = var_57[2];
                var_46 = 0;
                goto LAB_0004e128;
              }
            }
            else {
              var_37 = var_57[2];
LAB_0004e128:
              var_24 = *(type_11 **)(var_36 + 0x35b384);
              var_57[2] = var_37 << 1;
              var_50 = (*var_24)(var_50,var_46,0,var_57[1] + var_37 + 4);
              if (var_50 == 0) {
LAB_0004e2a0:
                puVar19 = (type_9 *)0x0;
                goto LAB_0004e1b8;
              }
              var_37 = var_57[9];
            }
            var_46 = var_57[0x3c];
            goto LAB_0004e15c;
          }
          puVar19 = (type_9 *)(**(type_11 **)(var_36 + 0x35b918))();
          goto LAB_0004e1b8;
        }
LAB_0004e2a8:
        (**(type_11 **)(var_36 + 0x35b58c))
                  (*(int *)(var_36 + 0x35a864) + 0x1b10,*(int *)(var_36 + 0x35a864) + 0x1ad8,0x639
                   ,*(int *)(var_36 + 0x35a864) + 0x25f0);
      }
LAB_0004e2cc:
      (**(type_11 **)(var_36 + 0x35b58c))
                (*(int *)(var_36 + 0x35a864) + 0x1aec,*(int *)(var_36 + 0x35a864) + 0x1ad8,0x638,
                 *(int *)(var_36 + 0x35a864) + 0x25f0);
    }
    (**(type_11 **)(var_36 + 0x35b58c))
              (*(int *)(var_36 + 0x35a86c) + -0x3784,*(int *)(var_36 + 0x35a864) + 0x1ad8,0x173e,
               *(int *)(var_36 + 0x35a864) + 0x21b8);
  }
  (**(type_11 **)(var_36 + 0x35b58c))
            (*(int *)(var_36 + 0x35a864) + 0xdd0,*(int *)(var_36 + 0x35a864) + 0x1ad8,0x173d,
             *(int *)(var_36 + 0x35a864) + 0x21b8);
LAB_0004e338:
  var_24 = *(type_11 **)(var_36 + 0x35afe8);
  (*var_24)();
                    /* WARNING: Could not recover jumptable at 0x0004e354. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  var_22 = (void *)(**(type_11 **)(var_24 + 0x35ac94))();
  return var_22;
LAB_0004d1b4:
  var_9->length = var_46;
  goto LAB_0004d0d0;
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (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: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (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: (pointer_declarator 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) 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: (pointer_declarator 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: (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: (pointer_declarator 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: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) 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: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (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) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (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: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type) 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))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) 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 (identifier) (binary_expression left: (identifier) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) alternative: (else_clause (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)) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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: (identifier) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (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 (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))))) alternative: (else_clause (compound_statement (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: (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) (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))) (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: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) (number_literal))))))))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (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: (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))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))) (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: (goto_statement label: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (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) (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: (char_literal (escape_sequence)))) 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) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (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)))) (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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))))) alternative: (else_clause (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: (identifier) right: (number_literal)) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) (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 (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (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)))) (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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) alternative: (else_clause (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)) (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) (identifier) (identifier) (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 (subscript_expression argument: (identifier) index: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (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)))))))) alternative: (else_clause (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))))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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 (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)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (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)))) (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: (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))))) 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 (identifier) (identifier) (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: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) (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 (assignment_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (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))))) (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_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 (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_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: (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: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))) right: (identifier))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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 (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)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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 (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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 (subscript_expression argument: (identifier) index: (number_literal)) (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 (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (number_literal) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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 (identifier) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)))) (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: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (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: (identifier) 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))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_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: (pointer_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: (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 (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))))))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_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: (binary_expression left: (identifier) right: (number_literal)))))))))) arguments: (argument_list))))) (return_statement (identifier)))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (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 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))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (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: (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 (assignment_expression left: (identifier) right: (identifier)))) (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: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (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)))) 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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (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: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (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 (number_literal) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (identifier)))) right: (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: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier)))) right: (number_literal)))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (field_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) field: (field_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (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 (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) (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 (pointer_expression argument: (identifier))))))) (expression_statement (assignment_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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (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: (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 (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: (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: (identifier))) (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 (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 (binary_expression left: (pointer_expression argument: (cast_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)) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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) (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (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 (pointer_expression argument: (identifier))))))) (expression_statement (assignment_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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (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)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier)) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier)))) 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 (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))))) (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 (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) 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 (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) 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))))))) (labeled_statement label: (statement_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: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (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))) (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: (compound_statement (labeled_statement label: (statement_identifier) (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: (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) (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)) value: (identifier))))) 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 (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)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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)))))) (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (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)))))) (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)))))) (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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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 (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) (binary_expression left: (pointer_expression argument: (cast_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: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (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))))) (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: (binary_expression left: (pointer_expression argument: (cast_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) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (identifier))))) alternative: (else_clause (compound_statement (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) (number_literal) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (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))))) alternative: (else_clause (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: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (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))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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 (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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: (cast_expression type: (type_descriptor type: (primitive_type) 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 (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (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))))) (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: (binary_expression left: (pointer_expression argument: (cast_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) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) 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 (number_literal) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (identifier)) right: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (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) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (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 (identifier) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_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: (subscript_expression argument: (identifier) index: (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))))))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (break_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: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))))) alternative: (else_clause (compound_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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 (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: (binary_expression left: (pointer_expression argument: (cast_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) (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (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 (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 (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)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_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: (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: (identifier) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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 (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (return_statement (cast_expression type: (type_descriptor type: (primitive_type) 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: (binary_expression left: (pointer_expression argument: (cast_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: (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 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (number_literal)))))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (labeled_statement label: (statement_identifier) (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: (identifier))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (goto_statement label: (statement_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 (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (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: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) 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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (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)))))))) (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 (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 (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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (return_statement (identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (goto_statement label: (statement_identifier)))))

/* WARNING: Removing unreachable block (ram,0x0004c948) */

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

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined *puVar4;
  uint uVar5;
  int iVar6;
  uint uVar7;
  undefined4 *puVar8;
  int iVar9;
  uint *puVar10;
  int *piVar11;
  int *piVar12;
  undefined *puVar13;
  int *piVar14;
  uint uVar15;
  int *piVar16;
  undefined1 uVar17;
  dword *pdVar18;
  undefined *puVar19;
  int iVar20;
  undefined1 *puVar21;
  undefined *unaff_s0;
  uint *puVar22;
  int *unaff_s1;
  int *unaff_s2;
  int *unaff_s3;
  dword *pdVar23;
  int *unaff_s5;
  int *unaff_s6;
  uint *unaff_s7;
  code *pcVar24;
  code *pcVar25;
  uint unaff_s8;
  code *pcVar26;
  ulonglong uVar27;
  longlong lVar28;
  uint uStack_4330;
  undefined1 auStack_4328 [56];
  int iStack_42f0;
  uint uStack_42ec;
  undefined1 auStack_4284 [4096];
  int iStack_3284;
  undefined *puStack_3280;
  int *piStack_327c;
  int *piStack_3278;
  int *piStack_3274;
  dword *pdStack_3270;
  int *piStack_326c;
  int *piStack_3268;
  uint *puStack_3264;
  uint uStack_3260;
  code *pcStack_325c;
  int iStack_3248;
  int *piStack_3244;
  int iStack_3240;
  int *piStack_323c;
  undefined *puStack_3238;
  code *pcStack_3230;
  int *piStack_3224;
  undefined4 uStack_3220;
  dword *pdStack_321c;
  int *piStack_3218;
  uint uStack_3214;
  undefined1 auStack_3210 [56];
  int iStack_31d8;
  dword *pdStack_31d4;
  int iStack_316c;
  undefined *puStack_3168;
  int *piStack_3164;
  int *piStack_3160;
  int *piStack_315c;
  dword *pdStack_3158;
  int *piStack_3154;
  int *piStack_3150;
  uint *puStack_314c;
  undefined1 auStack_308c [4096];
  int aiStack_208c [1024];
  dword dStack_108c;
  undefined *puStack_1084;
  int *piStack_1080;
  int *piStack_107c;
  int *piStack_1078;
  undefined *puStack_1074;
  int *piStack_1070;
  int *piStack_106c;
  uint *puStack_1068;
  code *pcStack_1064;
  uint *local_1050;
  int *local_104c;
  undefined *local_1048;
  int *local_1044;
  int *local_1040;
  uint auStack_102c [1024];
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_003a9230;
  local_2c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == (int *)0x0) {
LAB_0004c02c:
    param_3 = unaff_s5;
    param_4 = unaff_s3;
    puVar19 = PTR_LAB_003a88e0 + 0x2520;
    (*(code *)PTR___assert_fail_003a9608)(PTR_LAB_003a88e0 + 0xd78,PTR_LAB_003a88e0 + 0x1ad8,0x7f2);
  }
  else {
    if (param_1[0xc85] != -0x54535255) {
LAB_0004bfdc:
      param_2 = unaff_s1;
      piVar12 = (int *)(PTR_LAB_003a88e0 + 0x2520);
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xda0,PTR_LAB_003a88e0 + 0x1ad8,0x7f3,piVar12);
LAB_0004c000:
      (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004c00c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8
                 ,0x7f8,piVar12 + 0x948);
      unaff_s1 = param_2;
      unaff_s2 = param_1;
      goto LAB_0004c02c;
    }
    if (param_1[0xc84] != 0) {
      local_104c = param_1 + 0x884;
      local_1050 = (uint *)(PTR_s_t_to_left_003a88e4 + -0x62ac);
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x7f5);
    }
    puVar13 = PTR_CloneImageInfo_003a919c;
    piVar12 = (int *)PTR_LAB_003a88e0;
    unaff_s1 = param_2;
    unaff_s3 = param_4;
    unaff_s5 = param_3;
    if (param_2 == (int *)0x0) {
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0xdd0,PTR_LAB_003a88e0 + 0x1ad8,0x7f7,PTR_LAB_003a88e0 + 0x2520)
      ;
      goto LAB_0004bfdc;
    }
    if (param_2[0xcdb] != -0x54535255) goto LAB_0004c00c;
    puVar19 = PTR_LAB_003a88e0;
    unaff_s2 = param_1;
    if (param_4 != (int *)0x0) {
      *param_3 = 0;
      unaff_s6 = param_2 + 0x8d0;
      unaff_s0 = (undefined *)(*(code *)puVar13)(param_1);
      *(undefined4 *)(unaff_s0 + 0xc) = 0;
      (*(code *)PTR_SetImageInfo_003a95d8)(unaff_s0,1,param_4);
      if (unaff_s0[0x210] != '\0') {
        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s6,unaff_s0 + 0x210,0x1000);
      }
      unaff_s7 = (uint *)(*(code *)PTR_GetMagickInfo_003a940c)(unaff_s6,param_4);
      if (unaff_s7 == (uint *)0x0) {
        piVar12 = (int *)0x804;
        param_1 = (int *)0x0;
        local_1048 = PTR_LAB_003a88e0 + 0x3e28;
        local_104c = (int *)(PTR_LAB_003a88e0 + 0x1cec);
        local_1050 = (uint *)0x1a4;
        local_1044 = unaff_s6;
        (*(code *)PTR_ThrowMagickException_003a8f20)
                  (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x804);
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
      }
      else {
        (*(code *)PTR_CopyMagickString_003a983c)(unaff_s0 + 0x210,unaff_s6,0x1000);
        iVar1 = (*(code *)PTR_GetMagickBlobSupport_003a9774)(unaff_s7);
        puVar13 = PTR_AcquireQuantumMemory_003a950c;
        if (iVar1 == 0) {
          unaff_s7 = auStack_102c;
          iVar1 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(unaff_s7);
          if (iVar1 == -1) {
            piVar11 = param_1 + 0x884;
            puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
            piVar2 = (int *)(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);
            piVar12 = (int *)0x835;
            param_1 = (int *)0x0;
            local_1048 = PTR_LAB_003a88e0 + 0xe78;
            local_104c = (int *)(PTR_LAB_003a88e0 + 0x1ba4);
            local_1050 = (uint *)&DAT_000001b3;
            local_1044 = piVar11;
            local_1040 = piVar2;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x835);
            (*(code *)PTR_DestroyString_003a9074)(piVar2);
          }
          else {
            iVar1 = (*(code *)PTR_fdopen_003a97d8)(iVar1,PTR_LAB_003a88e0 + 0xe98);
            *(int *)(unaff_s0 + 0x204) = iVar1;
            piVar2 = param_2;
            if (iVar1 == 0) {
LAB_0004bd90:
              param_1 = (int *)0x0;
            }
            else {
              piVar12 = unaff_s6;
              local_1050 = unaff_s7;
              (*(code *)PTR_FormatLocaleString_003a8d7c)
                        (param_2 + 0xd0,0x1000,PTR_LAB_003a88e0 + 0x1d10,unaff_s6);
              piVar2 = (int *)(*(code *)PTR_WriteImage_003a8f74)(unaff_s0,param_2,param_4);
              (*(code *)PTR_CloseBlob_003a9688)(param_2);
              (*(code *)PTR_fclose_003a939c)(*(undefined4 *)(unaff_s0 + 0x204));
              if (piVar2 == (int *)0x0) goto LAB_0004bd90;
              piVar12 = param_4;
              param_1 = (int *)(*(code *)PTR_FileToBlob_003a8d24)
                                         (unaff_s7,0xffffffff,param_3,param_4);
            }
            (*(code *)PTR_RelinquishUniqueFileResource_003a8f9c)(unaff_s7);
          }
        }
        else {
          *(undefined4 *)(unaff_s0 + 0x20c) = 0;
          iVar1 = (*(code *)puVar13)(0x10000,1);
          *(int *)(unaff_s0 + 0x208) = iVar1;
          if (iVar1 == 0) {
            piVar2 = param_2 + 0xd0;
            piVar12 = (int *)0x814;
            local_1048 = PTR_LAB_003a88e0 + 0x3e28;
            local_104c = (int *)(PTR_LAB_003a88e0 + 0x16f8);
            local_1050 = (uint *)0x190;
            local_1044 = piVar2;
            (*(code *)PTR_ThrowMagickException_003a8f20)
                      (param_4,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x2514,0x814);
            param_1 = (int *)0x0;
          }
          else {
            (*(code *)PTR_CloseBlob_003a9688)(param_2);
            puVar13 = PTR_WriteImage_003a8f74;
            *(undefined4 *)(param_2[0xcd2] + 0x30) = 1;
            *(undefined1 *)(param_2 + 0xd0) = 0;
            piVar2 = (int *)(*(code *)puVar13)(unaff_s0,param_2,param_4);
            puVar13 = PTR_DetachBlob_003a976c;
            piVar11 = (int *)param_2[0xcd2];
            *param_3 = *piVar11;
            iVar1 = (*(code *)puVar13)(piVar11);
            if (iVar1 == 0) {
              uVar3 = (*(code *)PTR_RelinquishMagickMemory_003a8fc0)
                                (*(undefined4 *)(unaff_s0 + 0x208));
              *(undefined4 *)(unaff_s0 + 0x208) = uVar3;
              param_1 = (int *)0x0;
            }
            else if (piVar2 == (int *)0x0) {
              param_1 = (int *)(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar1);
            }
            else {
              param_1 = (int *)(*(code *)PTR_ResizeQuantumMemory_003a9420)(iVar1,*param_3 + 1,1);
            }
          }
        }
        (*(code *)PTR_DestroyImageInfo_003a95e8)(unaff_s0);
        param_2 = piVar2;
      }
      if (local_2c == *(int *)puVar4) {
        return param_1;
      }
      goto LAB_0004c000;
    }
  }
  piVar2 = (int *)&DAT_000007f9;
  piVar11 = (int *)(puVar19 + 0x2520);
  puVar13 = PTR_LAB_003a88e0 + 0x1ad8;
  pcVar26 = ImagesToBlob;
  piVar12 = (int *)(PTR_LAB_003a88e0 + 0x1cac);
  puVar19 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  puStack_1074 = puVar4;
  pdVar23 = *(dword **)(puVar19 + 0x35d1c0);
  dStack_108c = *pdVar23;
  puStack_1084 = unaff_s0;
  piStack_1080 = unaff_s1;
  piStack_107c = unaff_s2;
  piStack_1078 = param_4;
  piStack_1070 = param_3;
  piStack_106c = unaff_s6;
  puStack_1068 = unaff_s7;
  pcStack_1064 = pcVar26;
  if (piVar12 != (int *)0x0) {
    if (piVar12[0xc85] == -0x54535255) {
      if (piVar12[0xc84] != 0) {
        (**(code **)(puVar19 + 0x35d170))
                  (0x8000,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                   *(int *)(puVar19 + 0x35c870) + 0x24b4,0x985);
      }
      unaff_s0 = puVar13;
      param_4 = piVar11;
      param_3 = piVar2;
      if (puVar13 == (undefined *)0x0) goto LAB_0004c5a4;
      iVar1 = *(int *)(puVar19 + 0x35c870);
      if (*(int *)(puVar13 + 0x336c) == -0x54535255) {
        pcVar26 = *(code **)(puVar19 + 0x35d12c);
        if (piVar11 != (int *)0x0) {
          *piVar2 = 0;
          unaff_s7 = (uint *)(puVar13 + 0x2340);
          unaff_s2 = (int *)(*pcVar26)(piVar12);
          uVar3 = (**(code **)(puVar19 + 0x35d208))(puVar13);
          (**(code **)(puVar19 + 0x35d568))(unaff_s2,uVar3,piVar11);
          if (*(char *)(unaff_s2 + 0x84) != '\0') {
            (**(code **)(puVar19 + 0x35d7cc))(unaff_s7,unaff_s2 + 0x84,0x1000);
          }
          unaff_s6 = (int *)(**(code **)(puVar19 + 0x35d39c))(unaff_s7,piVar11);
          if (unaff_s6 == (int *)0x0) {
            piVar12 = (int *)0x0;
            (**(code **)(puVar19 + 0x35ceb0))
                      (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                       *(int *)(puVar19 + 0x35c870) + 0x24b4,0x994);
            (**(code **)(puVar19 + 0x35d578))(unaff_s2);
          }
          else {
            iVar1 = (**(code **)(puVar19 + 0x35cc9c))(unaff_s6);
            if (iVar1 == 0) {
              (**(code **)(puVar19 + 0x35d578))(unaff_s2);
              piVar12 = (int *)(**(code **)(puVar19 + 0x35d45c))(piVar12,puVar13,piVar2,piVar11);
            }
            else {
              (**(code **)(puVar19 + 0x35d7cc))(unaff_s2 + 0x84,unaff_s7,0x1000);
              iVar1 = (**(code **)(puVar19 + 0x35d704))(unaff_s6);
              puVar4 = puVar13;
              if (iVar1 == 0) {
                unaff_s6 = aiStack_208c;
                iVar1 = (**(code **)(puVar19 + 0x35cdd4))(unaff_s6);
                if (iVar1 == -1) {
                  puVar8 = (undefined4 *)(**(code **)(puVar19 + 0x35d940))();
                  puVar4 = (undefined *)(**(code **)(puVar19 + 0x35d37c))(*puVar8);
                  piVar12 = (int *)0x0;
                  (**(code **)(puVar19 + 0x35ceb0))
                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9cb);
                  (**(code **)(puVar19 + 0x35d004))(puVar4);
                }
                else {
                  iVar1 = (**(code **)(puVar19 + 0x35d768))
                                    (iVar1,*(int *)(puVar19 + 0x35c870) + 0xe98);
                  unaff_s2[0x81] = iVar1;
                  if (iVar1 == 0) {
LAB_0004c308:
                    piVar12 = (int *)0x0;
                  }
                  else {
                    (**(code **)(puVar19 + 0x35cd0c))
                              (auStack_308c,0x1000,*(int *)(puVar19 + 0x35c870) + 0x1d10,unaff_s7);
                    puVar4 = (undefined *)
                             (**(code **)(puVar19 + 0x35cc0c))
                                       (unaff_s2,puVar13,auStack_308c,piVar11);
                    (**(code **)(puVar19 + 0x35d618))(puVar13);
                    (**(code **)(puVar19 + 0x35d32c))(unaff_s2[0x81]);
                    if (puVar4 == (undefined *)0x0) goto LAB_0004c308;
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35ccb4))
                                               (unaff_s6,0xffffffff,piVar2,piVar11);
                  }
                  (**(code **)(puVar19 + 0x35cf2c))(unaff_s6);
                }
              }
              else {
                pcVar26 = *(code **)(puVar19 + 0x35d49c);
                unaff_s2[0x83] = 0;
                unaff_s6 = (int *)(puVar13 + 0x340);
                iVar1 = (*pcVar26)(0x10000,1);
                unaff_s2[0x82] = iVar1;
                if (iVar1 == 0) {
                  (**(code **)(puVar19 + 0x35ceb0))
                            (piVar11,*(int *)(puVar19 + 0x35c870) + 0x1ad8,
                             *(int *)(puVar19 + 0x35c870) + 0x24b4,0x9a9);
                  piVar12 = (int *)0x0;
                }
                else {
                  (**(code **)(puVar19 + 0x35d618))(puVar13);
                  pcVar26 = *(code **)(puVar19 + 0x35cc0c);
                  *(undefined4 *)(*(int *)(puVar13 + 0x3348) + 0x30) = 1;
                  puVar13[0x340] = 0;
                  puVar4 = (undefined *)(*pcVar26)(unaff_s2,puVar13,unaff_s6,piVar11);
                  piVar12 = *(int **)(puVar13 + 0x3348);
                  pcVar26 = *(code **)(puVar19 + 0x35d6fc);
                  *piVar2 = *piVar12;
                  iVar1 = (*pcVar26)(piVar12);
                  if (iVar1 == 0) {
                    iVar1 = (**(code **)(puVar19 + 0x35cf50))(unaff_s2[0x82]);
                    unaff_s2[0x82] = iVar1;
                    piVar12 = (int *)0x0;
                  }
                  else if (puVar4 == (undefined *)0x0) {
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35cf50))(iVar1);
                  }
                  else {
                    piVar12 = (int *)(**(code **)(puVar19 + 0x35d3b0))(iVar1,*piVar2 + 1,1);
                  }
                }
              }
              (**(code **)(puVar19 + 0x35d578))(unaff_s2);
              puVar13 = puVar4;
            }
          }
          unaff_s0 = puVar13;
          if (dStack_108c == *pdVar23) {
            return piVar12;
          }
          goto LAB_0004c598;
        }
        goto LAB_0004c5c8;
      }
    }
    else {
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0xda0,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x983,
                 *(int *)(puVar19 + 0x35c870) + 0x24c4);
LAB_0004c598:
      (**(code **)(puVar19 + 0x35cff4))();
LAB_0004c5a4:
      iVar1 = *(int *)(puVar19 + 0x35c870) + 0x24c4;
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0x1e48,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x987,
                 iVar1);
LAB_0004c5c8:
      iVar1 = iVar1 + 0x24c4;
      (**(code **)(puVar19 + 0x35d598))
                (*(int *)(puVar19 + 0x35c870) + 0x1cac,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x989,
                 iVar1);
    }
    (**(code **)(puVar19 + 0x35d598))
              (*(int *)(puVar19 + 0x35c870) + 0x1e64,*(int *)(puVar19 + 0x35c870) + 0x1ad8,0x988,
               iVar1 + 0x24c4);
    unaff_s1 = piVar12;
  }
  pdVar18 = (dword *)0x982;
  pcVar26 = *(code **)(puVar19 + 0x35d598);
  piVar12 = (int *)(*(int *)(puVar19 + 0x35c870) + 0x24c4);
  puVar4 = (undefined *)(*(int *)(puVar19 + 0x35c870) + 0xd78);
  (*pcVar26)(puVar4,*(int *)(puVar19 + 0x35c870) + 0x1ad8);
  if (puVar4 == (undefined *)0x0) {
LAB_0004ca88:
    puVar4 = unaff_s0;
    (**(code **)(pcVar26 + 0x35cfdc))
              (*(int *)(pcVar26 + 0x35c2b4) + 0xdd0,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e4,
               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
LAB_0004caac:
    pdVar18 = pdVar23;
    piVar12 = param_4;
    (**(code **)(pcVar26 + 0x35cfdc))
              (*(int *)(pcVar26 + 0x35c2bc) + -0x3784,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e5,
               *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
  }
  else {
    if (*(int *)(puVar4 + 0x336c) != -0x54535255) goto LAB_0004caac;
    if (*(int *)(puVar4 + 0x3350) != 0) {
      (**(code **)(pcVar26 + 0x35cbb4))
                (0x8000,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,*(int *)(pcVar26 + 0x35c2b4) + 0x2270,
                 0x13e7);
    }
    unaff_s1 = *(int **)(puVar4 + 0x3348);
    if (unaff_s1 == (int *)0x0) {
      (**(code **)(pcVar26 + 0x35cfdc))
                (*(int *)(pcVar26 + 0x35c2b4) + 0x1aec,*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8,0x13e8,
                 *(int *)(pcVar26 + 0x35c2b4) + 0x2280);
      unaff_s0 = puVar4;
      param_4 = piVar12;
      pdVar23 = pdVar18;
      goto LAB_0004ca88;
    }
    uVar5 = unaff_s1[0x10];
    if (uVar5 != 0) {
      if (uVar5 < 7) {
        if (uVar5 < 2) {
          if (uVar5 != 1) {
            return (int *)0x1;
          }
          uVar27 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
          if (-1 < (longlong)uVar27) {
            if (CONCAT44(pdVar18,piVar12) <= uVar27) {
              return (int *)0x1;
            }
            iVar1 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            if (-1 < iVar1) {
              iVar1 = (**(code **)(pcVar26 + 0x35cb28))
                                (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);
              if (unaff_s1[0xd] != 0) {
                iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
                if (iVar6 == -1) {
                  return (int *)0x0;
                }
                (**(code **)(pcVar26 + 0x35ca14))(iVar6);
              }
              (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
              return (int *)(uint)(iVar1 == 1);
            }
            return (int *)0x1;
          }
        }
      }
      else {
        if (uVar5 != 7) {
          return (int *)0x1;
        }
        if (pdVar18 == (dword *)0x0) {
          if (unaff_s1[4] == 0) {
            pcVar24 = *(code **)(pcVar26 + 0x35cdf4);
            unaff_s1[1] = (int)piVar12;
            iVar1 = (*pcVar24)(unaff_s1[0x3c],(undefined1 *)((int)piVar12 + 1),1);
            unaff_s1[0x3c] = iVar1;
            FUN_00044818(puVar4);
            if (unaff_s1[0x3c] != 0) {
              return (int *)0x1;
            }
            (**(code **)(pcVar26 + 0x35d140))(unaff_s1);
            return (int *)0x0;
          }
          (**(code **)(pcVar26 + 0x35d09c))(unaff_s1[0x3c],*unaff_s1);
          (**(code **)(pcVar26 + 0x35d0e0))(5);
          lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
          if (-1 < lVar28) {
            if ((int)((ulonglong)lVar28 >> 0x20) != 0) {
              return (int *)0x1;
            }
            if (piVar12 <= (int *)lVar28) {
              return (int *)0x1;
            }
            lVar28 = (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            iVar1 = (**(code **)(pcVar26 + 0x35cb28))
                              (*(int *)(pcVar26 + 0x35c2b8) + -0x3688,1,1,unaff_s1[0x11]);
            if (unaff_s1[0xd] != 0) {
              iVar6 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
              if (iVar6 == -1) {
                return (int *)0x0;
              }
              if (lVar28 < 0) {
                return (int *)0x0;
              }
              (**(code **)(pcVar26 + 0x35ca14))
                        (iVar6,piVar12 < (int *)((int)piVar12 - (int)lVar28),
                         (int)((ulonglong)lVar28 >> 0x20),(int)lVar28);
            }
            (**(code **)(pcVar26 + 0x35ccfc))(puVar4);
            if (iVar1 == 1) {
              (**(code **)(pcVar26 + 0x35d1f0))(5);
              uVar3 = (**(code **)(pcVar26 + 0x35d3a0))(unaff_s1[0x11]);
              iVar1 = (**(code **)(pcVar26 + 0x35d160))(uVar3,1,0,0);
              unaff_s1[0x3c] = iVar1;
              unaff_s1[1] = (int)piVar12;
              *unaff_s1 = (int)piVar12;
              FUN_00044818(puVar4);
              return (int *)0x1;
            }
          }
        }
      }
      return (int *)0x0;
    }
  }
  pdVar23 = (dword *)&DAT_000013e9;
  pcVar24 = *(code **)(pcVar26 + 0x35cfdc);
  piVar11 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1ad8);
  piVar2 = (int *)(*(int *)(pcVar26 + 0x35c2b4) + 0x1b10);
  (*pcVar24)();
  if (piVar2 == (int *)0x0) {
    pcVar26 = *(code **)(pcVar24 + 0x35cb14);
    iVar1 = *(int *)(pcVar24 + 0x35bdec) + 0x21d8;
    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0xdd0,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ed,
               iVar1);
    piVar2 = unaff_s1;
LAB_0004cf00:
    iVar1 = iVar1 + 0x21d8;
    (*pcVar26)(*(int *)(pcVar24 + 0x35bdec) + 0x1b10,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15f0,
               iVar1);
LAB_0004cf1c:
    (**(code **)(pcVar24 + 0x35cb14))
              (*(int *)(pcVar24 + 0x35bdec) + 0x1aec,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ef,
               iVar1 + 0x21d8);
LAB_0004cf3c:
    (**(code **)(pcVar24 + 0x35cb14))
              (*(int *)(pcVar24 + 0x35bdf4) + -0x3784,*(int *)(pcVar24 + 0x35bdec) + 0x1ad8,0x15ee,
               *(int *)(pcVar24 + 0x35bdec) + 0x21d8);
  }
  else {
    if (piVar2[0xcdb] != -0x54535255) goto LAB_0004cf3c;
    puVar4 = (undefined *)piVar2[0xcd2];
    iVar1 = *(int *)(pcVar24 + 0x35bdec);
    if (puVar4 == (undefined *)0x0) goto LAB_0004cf1c;
    uVar5 = *(uint *)(puVar4 + 0x40);
    pcVar26 = *(code **)(pcVar24 + 0x35cb14);
    if (uVar5 == 0) goto LAB_0004cf00;
    if (piVar11 == (int *)0x0) {
      return (int *)0x0;
    }
    unaff_s2 = piVar11;
    pdVar18 = pdVar23;
    if (pdVar23 != (dword *)0x0) {
      if (uVar5 < 9) {
                    /* WARNING: Could not recover jumptable at 0x0004cb84. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        piVar12 = (int *)(*(pcVar24 +
                           (int)&DWORD_00363dbc +
                           *(int *)(*(int *)(pcVar24 + 0x35bdec) + 0x20b4 + uVar5 * 4)))();
        return piVar12;
      }
      return (int *)0x0;
    }
  }
  uVar3 = 0x15f3;
  pcVar25 = *(code **)(pcVar24 + 0x35cb14);
  piVar14 = (int *)(*(int *)(pcVar24 + 0x35bdec) + 0x1ad8);
  puVar13 = (undefined *)(*(int *)(pcVar24 + 0x35bdec) + 0x1fa8);
  (*pcVar25)();
  pcVar26 = pcVar25 + 0x363930;
  piStack_3224 = *(int **)(pcVar25 + 0x35c2b0);
  iStack_316c = *piStack_3224;
  piVar11 = piVar2;
  pcStack_3230 = pcVar26;
  uStack_3220 = uVar3;
  puStack_3168 = puVar4;
  piStack_3164 = piVar2;
  piStack_3160 = unaff_s2;
  piStack_315c = piVar12;
  pdStack_3158 = pdVar18;
  piStack_3154 = param_3;
  piStack_3150 = unaff_s6;
  puStack_314c = unaff_s7;
  if (puVar13 == (undefined *)0x0) {
LAB_0004d5d8:
    piVar14 = unaff_s2;
    puVar13 = puVar4;
    pdVar23 = (dword *)0x664;
    uVar5 = *(int *)(pcVar26 + -0x7fd0) + 0x260c;
    piVar16 = (int *)(*(int *)(pcVar26 + -0x7fd0) + 0x1ad8);
    iVar1 = *(int *)(pcVar26 + -0x7fc8) + -0x37b0;
    (**(code **)(pcVar26 + -0x72a8))();
  }
  else {
    if (*(int *)(puVar13 + 0x336c) != -0x54535255) {
LAB_0004d590:
      piVar14 = unaff_s2;
      (**(code **)(pcVar26 + -0x72a8))
                (*(int *)(pcVar26 + -0x7fc8) + -0x3784,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x665,
                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);
LAB_0004d5b4:
      (**(code **)(pcVar26 + -0x72a8))
                (*(int *)(pcVar26 + -0x7fd0) + 0x1b68,*(int *)(pcVar26 + -0x7fd0) + 0x1ad8,0x666,
                 *(int *)(pcVar26 + -0x7fd0) + 0x260c);
      puVar4 = puVar13;
      piVar11 = piVar2;
      unaff_s2 = piVar14;
      goto LAB_0004d5d8;
    }
    if (piVar14 == (int *)0x0) goto LAB_0004d5b4;
    uVar5 = 0x667;
    piVar12 = *(int **)(pcVar25 + 0x35b960);
    pdVar18 = *(dword **)(pcVar25 + 0x35b960);
    iStack_3248 = *(int *)(pcVar25 + 0x35b964) + -0x62ac;
    piStack_3244 = piVar14;
    pdStack_321c = pdVar18;
    piStack_3218 = piVar12;
    (**(code **)(pcVar25 + 0x35c260))(0x8000,pdVar18 + 0x6b6,piVar12 + 0x980);
    iVar1 = (**(code **)(pcStack_3230 + -0x7b00))(4,2,piVar14);
    if (iVar1 == 0) {
      puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
      uVar5 = 0x66c;
      *puVar8 = 1;
      pdVar23 = (dword *)(piVar12 + 0x980);
      piVar16 = (int *)(pdVar18 + 0x6b6);
      iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0x3e28;
      piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1e9c);
      iStack_3248 = 499;
      piStack_323c = piVar14;
      (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
      piVar11 = (int *)0x0;
    }
    else {
      piVar12 = (int *)(**(code **)(pcStack_3230 + -0x6ee4))
                                 (**(undefined4 **)(pcStack_3230 + -0x78ec));
      iVar1 = (**(code **)(pcStack_3230 + -0x77a0))
                        (piVar14,*(int *)(pcStack_3230 + -0x7fc4) + -0x7ac);
      if (iVar1 == 0) {
        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);
        if (piVar12 == (int *)0xffffffff) goto LAB_0004d3d0;
LAB_0004d08c:
        iVar1 = (**(code **)(pcStack_3230 + -0x7a08))(3,piVar12,auStack_3210);
        if (((iVar1 != 0) ||
            ((uint)((undefined4 *)((int)pdStack_31d4 + -1) < pdStack_31d4) + iStack_31d8 + -1 != 0))
           || (pcVar26 = *(code **)(pcStack_3230 + -0x73a4), pdVar18 = pdStack_31d4,
              (undefined4 *)((int)&__DT_SYMTAB[0x16e].st_value + 2) <
              (undefined4 *)((int)pdStack_31d4 + -1))) {
          pcVar26 = *(code **)(pcStack_3230 + -0x73a4);
          pdVar18 = &__DT_SYMTAB[0x16e].st_size;
        }
        piVar2 = (int *)(*pcVar26)(pdVar18,1);
        if (piVar2 != (int *)0x0) {
          param_3 = (int *)&DAT_00000007;
LAB_0004d0d0:
          pcVar26 = *(code **)(pcStack_3230 + -0x72fc);
LAB_0004d0d4:
          do {
            piVar16 = piVar2;
            pdVar23 = pdVar18;
            unaff_s8 = (*pcVar26)(piVar12);
            if ((int)unaff_s8 < 1) {
              piVar11 = (int *)(**(code **)(pcStack_3230 + -0x6f00))();
              if (*piVar11 == 4) {
                unaff_s8 = 0;
                goto LAB_0004d114;
              }
LAB_0004d29c:
              iVar1 = (**(code **)(pcStack_3230 + -0x7754))(piVar12);
              if (iVar1 == -1) {
                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
                uVar5 = 0x696;
                pdVar23 = (dword *)(piStack_3218 + 0x980);
                piVar16 = (int *)(pdStack_321c + 0x6b6);
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                piStack_323c = piVar14;
                puStack_3238 = puVar13;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(puVar13);
              }
              piVar11 = (int *)0x1;
              (**(code **)(pcStack_3230 + -0x78f0))(piVar2);
              goto LAB_0004d2c8;
            }
LAB_0004d114:
            pcVar26 = pcStack_3230;
            unaff_s7 = *(uint **)(puVar13 + 0x3348);
            pdVar23 = pdStack_321c;
            if (unaff_s7 == (uint *)0x0) {
LAB_0004d570:
              (**(code **)(pcVar26 + -0x72a8))
                        (*(int *)(pcVar26 + -0x7fd0) + 0x1aec,pdVar23 + 0x6b6,0x638,
                         *(int *)(pcVar26 + -0x7fd0) + 0x25f0);
              unaff_s2 = piVar14;
              goto LAB_0004d590;
            }
            if (unaff_s7[0x10] == 0) {
              pdVar23 = (dword *)(**(code **)(pcStack_3230 + -0x72a8))
                                           (*(int *)(pcStack_3230 + -0x7fd0) + 0x1b10,
                                            pdStack_321c + 0x6b6,0x639,
                                            *(int *)(pcStack_3230 + -0x7fd0) + 0x25f0);
              goto LAB_0004d570;
            }
            unaff_s6 = (int *)((int)unaff_s8 >> 0x1f);
            if (unaff_s7[0x10] != 7) {
              uVar7 = (**(code **)(pcStack_3230 + -0x6f1c))(puVar13,unaff_s8,piVar2);
LAB_0004d214:
              pcVar26 = *(code **)(pcStack_3230 + -0x72fc);
              if (unaff_s8 != uVar7) {
                puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
                puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
                uVar5 = 0x690;
                pdVar23 = (dword *)(piStack_3218 + 0x980);
                piVar16 = (int *)(pdStack_321c + 0x6b6);
                iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0) + 0xe78;
                piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ba4);
                iStack_3248 = 0x1b3;
                piStack_323c = piVar14;
                puStack_3238 = puVar13;
                (**(code **)(pcStack_3230 + -0x7990))(uStack_3220);
                (**(code **)(pcStack_3230 + -0x783c))(puVar13);
                goto LAB_0004d29c;
              }
              goto LAB_0004d0d4;
            }
            uVar7 = unaff_s7[9];
            uVar5 = unaff_s7[1];
            if (((undefined1 *)((int)unaff_s6 + (uint)(uVar7 + unaff_s8 < uVar7) + unaff_s7[8]) !=
                 (undefined1 *)0x0) || (uVar15 = unaff_s8, uVar5 <= uVar7 + unaff_s8)) {
              pcVar26 = *(code **)(pcStack_3230 + -0x74b0);
              uVar5 = uVar5 + unaff_s7[2] + unaff_s8;
              unaff_s7[2] = unaff_s7[2] << 1;
              uStack_3214 = unaff_s8;
              iVar1 = (*pcVar26)(puVar13,unaff_s8,0);
              if (iVar1 == 0) {
                uVar7 = 0;
                goto LAB_0004d214;
              }
              uVar7 = unaff_s7[9];
              uVar15 = uStack_3214;
            }
            (**(code **)(pcStack_3230 + -0x7558))(unaff_s7[0x3c] + uVar7,piVar2,uVar15);
            uVar7 = unaff_s8 + unaff_s7[9];
            unaff_s7[9] = uVar7;
            puVar21 = (undefined1 *)((int)unaff_s6 + (uint)(uVar7 < unaff_s8) + unaff_s7[8]);
            unaff_s7[8] = (uint)puVar21;
            if ((int)puVar21 < 0) goto LAB_0004d0d0;
            if ((puVar21 != (undefined1 *)0x0) ||
               (pcVar26 = *(code **)(pcStack_3230 + -0x72fc), *unaff_s7 <= uVar7))
            goto LAB_0004d1b4;
          } while( true );
        }
        (**(code **)(pcStack_3230 + -0x7754))(piVar12);
        puVar8 = (undefined4 *)(**(code **)(pcStack_3230 + -0x6f00))();
        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
        uVar5 = 0x680;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar26 = *(code **)(pcStack_3230 + -0x7990);
        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x16f8);
        iStack_3248 = 400;
      }
      else {
        piVar12 = (int *)(**(code **)(pcStack_3230 + -0x7aa8))(piVar14,0,0);
        if (piVar12 != (int *)0xffffffff) goto LAB_0004d08c;
        pcVar26 = *(code **)(pcStack_3230 + -0x6f00);
LAB_0004d3d0:
        puVar8 = (undefined4 *)(*pcVar26)();
        puVar13 = (undefined *)(**(code **)(pcStack_3230 + -0x74c4))(*puVar8);
        uVar5 = 0x675;
        iStack_3240 = *(int *)(pcStack_3230 + -0x7fd0);
        pcVar26 = *(code **)(pcStack_3230 + -0x7990);
        piStack_3244 = (int *)(*(int *)(pcStack_3230 + -0x7fd0) + 0x1ec4);
        iStack_3248 = 0x1b3;
      }
      iStack_3240 = iStack_3240 + 0xe78;
      pdVar23 = (dword *)(piStack_3218 + 0x980);
      piVar16 = (int *)(pdStack_321c + 0x6b6);
      piVar11 = (int *)0x0;
      piStack_323c = piVar14;
      puStack_3238 = puVar13;
      (*pcVar26)(uStack_3220);
      (**(code **)(pcStack_3230 + -0x783c))(puVar13);
    }
LAB_0004d2c8:
    iVar1 = iStack_316c;
    pcVar26 = pcStack_3230;
    if (iStack_316c == *piStack_3224) {
      return piVar11;
    }
  }
  pcVar26 = *(code **)(pcVar26 + -0x784c);
  pcVar24 = InjectImageBlob;
  (*pcVar26)();
  iVar6 = iStack_3248;
  piVar2 = *(int **)(pcVar26 + 0x35bc28);
  iStack_3284 = *piVar2;
  puStack_3280 = puVar13;
  piStack_327c = piVar11;
  piStack_3278 = piVar14;
  piStack_3274 = piVar12;
  pdStack_3270 = pdVar18;
  piStack_326c = param_3;
  piStack_3268 = unaff_s6;
  puStack_3264 = unaff_s7;
  uStack_3260 = unaff_s8;
  pcStack_325c = pcVar24;
  if (iVar1 == 0) {
LAB_0004ddfc:
    iVar6 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
    iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1c88;
    (**(code **)(pcVar26 + 0x35c000))(iVar1,iVar6,0xabf,*(int *)(pcVar26 + 0x35b2d8) + 0x2474);
    uVar17 = (undefined1)iVar6;
  }
  else {
    if (*(int *)(iVar1 + 0x3214) != -0x54535255) {
LAB_0004ddd8:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0xda0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac0,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddfc;
    }
    if (piVar16 == (int *)0x0) {
LAB_0004ddb4:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0xdd0,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac1,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddd8;
    }
    if (piVar16[0xcdb] != -0x54535255) {
LAB_0004dd4c:
      iVar20 = *(int *)(pcVar26 + 0x35b2d8) + 0x2474;
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2e0) + -0x3784,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac2,
                 iVar20);
LAB_0004dd70:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fe4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac6,
                 iVar20 + 0x2474);
LAB_0004dd90:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1fc4,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac5,
                 *(int *)(pcVar26 + 0x35b2d8) + 0x2474);
      goto LAB_0004ddb4;
    }
    if (piVar16[0xcd4] != 0) {
      (**(code **)(pcVar26 + 0x35bbd8))
                (0x8000,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,
                 0xac4);
    }
    if (pdVar23 == (dword *)0x0) goto LAB_0004dd90;
    iVar20 = *(int *)(pcVar26 + 0x35b2d8);
    if (pdVar23[0xcdb] != -0x54535255) goto LAB_0004dd70;
    if (iVar6 == 0) {
LAB_0004dd2c:
      (**(code **)(pcVar26 + 0x35c000))
                (*(int *)(pcVar26 + 0x35b2d8) + 0x1cac,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8,0xac7,
                 iVar20 + 0x2474);
      goto LAB_0004dd4c;
    }
    iVar20 = (**(code **)(pcVar26 + 0x35b83c))(auStack_4284);
    if ((iVar20 == -1) ||
       (iVar20 = (**(code **)(pcVar26 + 0x35c1d0))(iVar20,*(int *)(pcVar26 + 0x35b2d8) + 0xe98),
       iVar20 == 0)) {
      (**(code **)(pcVar26 + 0x35c234))(piVar16 + 0xd0,auStack_4284,0x1000);
      puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();
      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);
      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
      (**(code **)(pcVar26 + 0x35b918))(iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xad0);
      uVar17 = (undefined1)iVar1;
      piVar12 = (int *)0x0;
      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
    }
    else {
      uVar17 = 0;
      iVar9 = (**(code **)(pcVar26 + 0x35c228))(pdVar23,0,0,0);
      if (iVar9 == 0) {
        piVar12 = (int *)0x0;
        (**(code **)(pcVar26 + 0x35bd94))(iVar20);
        (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
      }
      else {
        (**(code **)(pcVar26 + 0x35b774))
                  (iVar9 + 0x340,0x1000,*(int *)(pcVar26 + 0x35b2d8) + 0x1d10,uVar5);
        (**(code **)(pcVar26 + 0x35ba08))(iVar9);
        uVar3 = (**(code **)(pcVar26 + 0x35c1d8))(0);
        pcVar24 = *(code **)(pcVar26 + 0x35bb94);
        *(undefined4 *)(iVar9 + 0x3348) = uVar3;
        uVar3 = (*pcVar24)(iVar1);
        (**(code **)(pcVar26 + 0x35bec8))(uVar3,iVar20);
        iVar1 = iVar9;
        piVar12 = (int *)(**(code **)(pcVar26 + 0x35b96c))(uVar3,iVar9,iVar6);
        uVar17 = (undefined1)iVar1;
        (**(code **)(pcVar26 + 0x35bfe0))(uVar3);
        (**(code **)(pcVar26 + 0x35b944))(iVar9);
        (**(code **)(pcVar26 + 0x35bd94))(iVar20);
        if (piVar12 == (int *)0x0) {
          (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
        }
        else {
          iVar1 = (**(code **)(pcVar26 + 0x35b800))(auStack_4284,0,0);
          if (iVar1 == -1) {
            piVar12 = (int *)0x0;
            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
            puVar8 = (undefined4 *)(**(code **)(pcVar26 + 0x35c3a8))();
            uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*puVar8);
            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar26 + 0x35b918))
                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xaf1);
            uVar17 = (undefined1)iVar1;
            (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
          }
          else {
            iVar20 = (**(code **)(pcVar26 + 0x35b8a0))(3,iVar1,auStack_4328);
            if (((iVar20 == 0) && ((uint)(uStack_42ec - 1 < uStack_42ec) + iStack_42f0 + -1 == 0))
               && (uStack_42ec - 1 < 0x13fff)) {
              uStack_4330 = uStack_42ec;
            }
            else {
              uStack_4330 = 0x14000;
            }
            iVar9 = (**(code **)(pcVar26 + 0x35bf04))(uStack_4330,1);
            if (iVar9 != 0) {
              while( true ) {
                iVar20 = iVar9;
                uVar5 = (**(code **)(pcVar26 + 0x35bfac))(iVar1,iVar9,uStack_4330);
                uVar17 = (undefined1)iVar20;
                if ((int)uVar5 < 1) {
                  piVar11 = (int *)(**(code **)(pcVar26 + 0x35c3a8))();
                  if (*piVar11 != 4) {
                    iVar1 = (**(code **)(pcVar26 + 0x35bb54))(iVar1);
                    if (iVar1 == -1) {
                      uVar3 = (**(code **)(pcVar26 + 0x35bde4))(*piVar11);
                      iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
                      (**(code **)(pcVar26 + 0x35b918))
                                (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xb0d);
                      uVar17 = (undefined1)iVar1;
                      (**(code **)(pcVar26 + 0x35ba6c))(uVar3);
                    }
                    (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
                    (**(code **)(pcVar26 + 0x35b9b8))(iVar9);
                    goto LAB_0004d764;
                  }
                  uVar5 = 0;
                }
                puVar22 = (uint *)piVar16[0xcd2];
                iVar20 = *(int *)(pcVar26 + 0x35b2d8);
                if (puVar22 == (uint *)0x0) goto LAB_0004dd0c;
                if (puVar22[0x10] == 0) break;
                if (puVar22[0x10] == 7) {
                  uVar7 = puVar22[9];
                  if (((uint)(uVar7 + uVar5 < uVar7) + puVar22[8] + ((int)uVar5 >> 0x1f) == 0) &&
                     (uVar7 + uVar5 < puVar22[1])) {
LAB_0004da64:
                    (**(code **)(pcVar26 + 0x35bd50))(puVar22[0x3c] + uVar7,iVar9,uVar5);
                    uVar7 = uVar5 + puVar22[9];
                    puVar22[9] = uVar7;
                    uVar5 = (uint)(uVar7 < uVar5) + ((int)uVar5 >> 0x1f) + puVar22[8];
                    puVar22[8] = uVar5;
                    if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {
                      piVar12 = (int *)0x1;
                    }
                    else {
                      *puVar22 = uVar7;
                      piVar12 = (int *)0x1;
                    }
                  }
                  else {
                    uVar7 = puVar22[2];
                    pcVar24 = *(code **)(pcVar26 + 0x35bdf8);
                    puVar22[2] = uVar7 << 1;
                    iVar20 = (*pcVar24)(piVar16,uVar5,0,puVar22[1] + uVar7 + uVar5);
                    if (iVar20 != 0) {
                      uVar7 = puVar22[9];
                      goto LAB_0004da64;
                    }
                    piVar12 = (int *)(uint)(uVar5 == 0);
                  }
                }
                else {
                  uVar7 = (**(code **)(pcVar26 + 0x35c38c))(piVar16,uVar5,iVar9);
                  piVar12 = (int *)(uint)(uVar5 == uVar7);
                }
              }
              iVar20 = iVar20 + 0x25f0;
              (**(code **)(pcVar26 + 0x35c000))
                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1b10,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8
                         ,0x639,iVar20);
LAB_0004dd0c:
              iVar20 = iVar20 + 0x25f0;
              (**(code **)(pcVar26 + 0x35c000))
                        (*(int *)(pcVar26 + 0x35b2d8) + 0x1aec,*(int *)(pcVar26 + 0x35b2d8) + 0x1ad8
                         ,0x638,iVar20);
              goto LAB_0004dd2c;
            }
            piVar12 = (int *)0x0;
            (**(code **)(pcVar26 + 0x35b994))(auStack_4284);
            (**(code **)(pcVar26 + 0x35bb54))(iVar1);
            iVar1 = *(int *)(pcVar26 + 0x35b2d8) + 0x1ad8;
            (**(code **)(pcVar26 + 0x35b918))
                      (iVar6,iVar1,*(int *)(pcVar26 + 0x35b2d8) + 0x2464,0xafd);
            uVar17 = (undefined1)iVar1;
          }
        }
      }
    }
LAB_0004d764:
    iVar1 = iStack_3284;
    if (iStack_3284 == *piVar2) {
      return piVar12;
    }
  }
  pcVar26 = *(code **)(pcVar26 + 0x35ba5c);
  (*pcVar26)();
  if (iVar1 == 0) {
LAB_0004e038:
    iVar6 = *(int *)(pcVar26 + 0x35aab4) + 0x21c8;
    (**(code **)(pcVar26 + 0x35b7dc))
              (*(int *)(pcVar26 + 0x35aab4) + 0xdd0,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d4,
               iVar6);
  }
  else {
    if (*(int *)(iVar1 + 0x336c) != -0x54535255) {
LAB_0004e014:
      (**(code **)(pcVar26 + 0x35b7dc))
                (*(int *)(pcVar26 + 0x35aabc) + -0x3784,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d5
                 ,*(int *)(pcVar26 + 0x35aab4) + 0x21c8);
      goto LAB_0004e038;
    }
    puVar22 = *(uint **)(iVar1 + 0x3348);
    iVar6 = *(int *)(pcVar26 + 0x35aab4);
    if (puVar22 == (uint *)0x0) {
      (**(code **)(pcVar26 + 0x35b7dc))
                (*(int *)(pcVar26 + 0x35aab4) + 0x1aec,*(int *)(pcVar26 + 0x35aab4) + 0x1ad8,0x16d6,
                 iVar6 + 0x21c8);
      goto LAB_0004e014;
    }
    uVar5 = puVar22[0x10];
    if (uVar5 != 0) {
      if (uVar5 - 1 < 3) {
        iVar1 = (**(code **)(pcVar26 + 0x35afcc))(uVar17,puVar22[0x11]);
        if (iVar1 != -1) {
          return (int *)0x1;
        }
        iVar1 = (**(code **)(pcVar26 + 0x35aef0))(puVar22[0x11]);
        if (iVar1 == 0) {
          return (int *)0x0;
        }
        if (puVar22[0xe] == 0) {
          puVar10 = (uint *)(**(code **)(pcVar26 + 0x35bb84))();
          if (*puVar10 != 0) {
            puVar22[7] = *puVar10;
          }
        }
        puVar22[0xe] = 1;
        return (int *)0x0;
      }
      if (uVar5 != 7) {
        piVar12 = (int *)(**(code **)(pcVar26 + 0x35bb68))();
        return piVar12;
      }
      uVar7 = puVar22[9];
      uVar5 = uVar7 + 1;
      if ((uint)(uVar5 < uVar7) + puVar22[8] == 0) {
        if (uVar5 < puVar22[1]) goto LAB_0004dee0;
        uVar7 = puVar22[2];
        uVar5 = 0;
      }
      else {
        uVar7 = puVar22[2];
      }
      pcVar26 = *(code **)(pcVar26 + 0x35b5d4);
      puVar22[2] = uVar7 << 1;
      iVar1 = (*pcVar26)(iVar1,uVar5,0,puVar22[1] + uVar7 + 1);
      if (iVar1 == 0) {
        return (int *)0x0;
      }
      uVar7 = puVar22[9];
LAB_0004dee0:
      *(undefined1 *)(puVar22[0x3c] + uVar7) = uVar17;
      uVar5 = puVar22[9];
      uVar7 = uVar5 + 1;
      puVar22[9] = uVar7;
      uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];
      puVar22[8] = uVar5;
      if ((-1 < (int)uVar5) && ((uVar5 != 0 || (*puVar22 <= uVar7)))) {
        *puVar22 = uVar7;
        return (int *)0x1;
      }
      return (int *)0x1;
    }
  }
  pcVar24 = *(code **)(pcVar26 + 0x35b7dc);
  iVar1 = *(int *)(pcVar26 + 0x35aab4) + 0x1ad8;
  iVar20 = *(int *)(pcVar26 + 0x35aab4) + 0x1b10;
  (*pcVar24)(iVar20,iVar1,0x16d7,iVar6 + 0x21c8);
  piVar12 = *(int **)(pcVar24 + 0x35b1b4);
  iVar6 = *piVar12;
  if (iVar20 != 0) {
    if (*(int *)(iVar20 + 0x336c) == -0x54535255) {
      puVar22 = *(uint **)(iVar20 + 0x3348);
      if (*(int *)(iVar20 + 0x25c) == 1) {
        iVar1 = CONCAT31(CONCAT21(CONCAT11((char)iVar1,(char)((uint)iVar1 >> 8)),
                                  (char)((uint)iVar1 >> 0x10)),(char)((uint)iVar1 >> 0x18));
        if (puVar22 == (uint *)0x0) goto LAB_0004e2cc;
        if (puVar22[0x10] == 0) goto LAB_0004e2a8;
        if (puVar22[0x10] != 7) {
          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();
          goto LAB_0004e1b8;
        }
        uVar5 = puVar22[9];
        uVar7 = uVar5 + 4;
        if (((uint)(uVar7 < uVar5) + puVar22[8] == 0) &&
           (uVar7 = (uint)(uVar7 < puVar22[1]), uVar7 != 0)) {
          uVar7 = puVar22[0x3c];
        }
        else {
          uVar5 = puVar22[2];
          pcVar26 = *(code **)(pcVar24 + 0x35b384);
          puVar22[2] = uVar5 << 1;
          iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);
          if (iVar20 == 0) goto LAB_0004e2a0;
          uVar5 = puVar22[9];
          uVar7 = puVar22[0x3c];
        }
LAB_0004e15c:
        *(int *)(uVar7 + uVar5) = iVar1;
        uVar5 = puVar22[9];
        uVar7 = uVar5 + 4;
        puVar22[9] = uVar7;
        uVar5 = (uint)(uVar7 < uVar5) + puVar22[8];
        puVar22[8] = uVar5;
        if (((int)uVar5 < 0) || ((uVar5 == 0 && (uVar7 < *puVar22)))) {
          piVar2 = (int *)&DAT_00000004;
        }
        else {
          *puVar22 = uVar7;
          piVar2 = (int *)&DAT_00000004;
        }
LAB_0004e1b8:
        if (iVar6 == *piVar12) {
          return piVar2;
        }
        goto LAB_0004e338;
      }
      if (puVar22 != (uint *)0x0) {
        if (puVar22[0x10] != 0) {
          if (puVar22[0x10] == 7) {
            uVar5 = puVar22[9];
            uVar7 = uVar5 + 4;
            if ((uint)(uVar7 < uVar5) + puVar22[8] == 0) {
              if (puVar22[1] <= uVar7) {
                uVar5 = puVar22[2];
                uVar7 = 0;
                goto LAB_0004e128;
              }
            }
            else {
              uVar5 = puVar22[2];
LAB_0004e128:
              pcVar26 = *(code **)(pcVar24 + 0x35b384);
              puVar22[2] = uVar5 << 1;
              iVar20 = (*pcVar26)(iVar20,uVar7,0,puVar22[1] + uVar5 + 4);
              if (iVar20 == 0) {
LAB_0004e2a0:
                piVar2 = (int *)0x0;
                goto LAB_0004e1b8;
              }
              uVar5 = puVar22[9];
            }
            uVar7 = puVar22[0x3c];
            goto LAB_0004e15c;
          }
          piVar2 = (int *)(**(code **)(pcVar24 + 0x35b918))();
          goto LAB_0004e1b8;
        }
LAB_0004e2a8:
        (**(code **)(pcVar24 + 0x35b58c))
                  (*(int *)(pcVar24 + 0x35a864) + 0x1b10,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x639
                   ,*(int *)(pcVar24 + 0x35a864) + 0x25f0);
      }
LAB_0004e2cc:
      (**(code **)(pcVar24 + 0x35b58c))
                (*(int *)(pcVar24 + 0x35a864) + 0x1aec,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x638,
                 *(int *)(pcVar24 + 0x35a864) + 0x25f0);
    }
    (**(code **)(pcVar24 + 0x35b58c))
              (*(int *)(pcVar24 + 0x35a86c) + -0x3784,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173e,
               *(int *)(pcVar24 + 0x35a864) + 0x21b8);
  }
  (**(code **)(pcVar24 + 0x35b58c))
            (*(int *)(pcVar24 + 0x35a864) + 0xdd0,*(int *)(pcVar24 + 0x35a864) + 0x1ad8,0x173d,
             *(int *)(pcVar24 + 0x35a864) + 0x21b8);
LAB_0004e338:
  pcVar26 = *(code **)(pcVar24 + 0x35afe8);
  (*pcVar26)();
  piVar12 = (int *)(**(code **)(pcVar26 + 0x35ac94))();
  return piVar12;
LAB_0004d1b4:
  *unaff_s7 = uVar7;
  goto LAB_0004d0d0;
}

